C/C++中的typedef 和 #define
typedef
C/C++中的關鍵字typedef允許用戶為類型名來起一個新名字,通常會是縮寫或者能夠清晰表明類型含義的新名字。
例:
typedef unsigned int UINT;
UINT 100;
值得注意的是,typedef除了為C/C++內置的數據類型取別名之外,也可以為用戶的自定義類型(class / struct)取別名。
例:
typedef Student{string name;int id;...
}STU;STU student;
縮寫例:
typedef iterator_traits<I>::iterator_category caty;
#define
#define 是 C 指令,用于為各種數據類型定義別名,與 typedef 類似,但是它們有以下幾點不同:
-
typedef 僅限于為類型定義符號名稱,#define 不僅可以為類型定義別名,也能為數值定義別名。
常見的有:
#define PI 3.14
-
typedef 是由編譯器執行解釋的,#define 語句是由預編譯器進行處理的。
Ref:https://www.runoob.com/cprogramming/c-typedef.html