C++11新特性-使用别名(alias)

传统

传统使用别名的方法是用typedef关键字。如:spa

typedef double wages;
typedef wages base, *p;

C++11引入了一种新的使用别名的方式,叫做:别名声明(alias declaration)指针

using SI = Sales_item;

typedef的缺陷

typedef char *pstring;    //pstring是char*的别名
const pstring cstr = 0;   //cstr is a constant pointer to char. const指针,而不是指向const对象的指针
const pstring *ps;        //ps is a pointer to constant pointer to char

不能将cstr简单的用char*来替换:code

const char *cstr = 0;     //这样理解cstr是不对的,pstring基本类型是指针类型,而这里基本类型是const char

若是用using pstring = char *; 来代替typedef,能够减小这种误解。这样能够明显的提醒你们pstring是char指针类型。对象

相关文章
相关标签/搜索