类型别名

一、基础用法

  1. 法一:typedef 类型 类型别名;
  2. 法二:using 类型别名 = 类型;

 

二、类型别名指代复合类型

typedef char * pstring;

const pstring cstr = 0;

上面用类型别名pstring指代char *,即pstring是指向char的指针,故const修饰的是指针,也即cstr是指向char的常量指针

 

若我们尝试把类型别名替换成它本来的样子,以理解语句的含义,则有:const char * cstr;,这样我们错误地认为const修饰的是char。

所以这种理解是错误的。声明语句中用到pstring时,其基本数据类型是指针,而用char *重写后,数据类型就变成了char,*成为了声明符的一部分。即改写后的结果是,const char成了基本数据类型,声明了一个指向const char的指针,而正确的结果是声明了一个指向char的常量指针。

 

小试牛刀

const pstring *ps;

ps是一个指针,它指向的对象是指向char的常量指针

posted @ 2017-10-11 09:16  GGBeng  阅读(187)  评论(0编辑  收藏  举报