C++ 速查手冊
13.3 - 別名
關鍵字 (keyword) typedef 用來定義型態 (type) 的同義字,也就是別名,例如
#include <iostream>
int main() {
typedef int INTEGER;
INTEGER a = 22;
std::cout << "a: " << a << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u1303_1.cpp
功能:示範 C++ 的其他宣告
作者:張凱慶*/
第 4 行定義 INTEGER 為 int 的同義字
typedef int INTEGER;
因此可以用 INTEGER 來宣告變數 (variable)
INTEGER a = 22;
編譯執行,結果如下
$ g++ u1303_1.cpp |
$ ./a.out |
a: 22 |
$ |
typedef 通常用在自行定義的型態名稱,除了可以隱藏實作細節,當自行定義的名稱又長又瑣碎的時候,就可以簡化整個名稱,例如
#include <iostream>
struct SomethingWillHappened {
int a;
};
typedef SomethingWillHappened SHDemo;
int main() {
SHDemo d;
d.a = 22;
std::cout << "d.a: " << d.a << std::endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u1303_2.cpp
功能:示範 C++ 的其他宣告
作者:張凱慶*/
這裡將 SomethingWillHappened 簡化為 SHDemo
typedef SomethingWillHappened SHDemo;
編譯執行,結果如下
$ g++ u1303_2.cpp |
$ ./a.out |
d.a: 22 |
$ |