天天看點

C++類型别名細節

typedef double wages;

typedef wages base,*p;

此處把double 聲明為wages,wages是double的别名。

後面base也是double的别名,*p也是doublle的别名。

新标準規定了一種新的方法:

using SI=Sale_Items;

定義對象時就可以直接: SI item;

指針、常量和類型别名

如果某個類型别名知道的是複合類型或常量,那麼把它用到聲明語句中就會産生意想不到的後果。

例如:

typedef   char   *pstring;

const pstring cstr=0;//cstr是指向char的常量指針

const  pstring *ps;;//ps是一個指針,它的對象是指向char的常量指針。

此處不能吧類型别名替換成它本來的樣子,const char *cstr=0;//這是對const pstring cstr的錯誤了解。

而是char  *const cstr=0;