兩種定義類型別名的方法:typedef和using。
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是一個指向常量對象的指針。