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;