類型別名

兩種定義類型別名的方法:typedefusing

typedef int mint;
using nint = int;

有類型別名時,解釋變量類型需小心。直接類型別名替換會導致錯誤。

typedef int *mint;    // mint是 int*的別名
int a = 1;
const mint pa = &a;
const int *pb = &a;    // pa和pb類型並不相同

對於上面的語句,pa的定義如果按照別名展開,將解釋爲pb的類型。實際上pa是一個指向int型數據的常量指針,即pa本身是一個常量,所指對象爲int型。而pb是一個指向常量對象的指針。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章