《C++ Primer Plus》学习笔记——类型别名typedef

类型别名typedef

为什么需要用到类型别名?
对于我们常用的基本类型,自然不需要使用类型别名。但在实际编程中,我们会自定义类型,会用到模板库,有时候嵌套的模板过于复杂,难以理解,使用类型别名更加直观易懂。
C++在为类型建立别名的方式有两种。

  • 使用预处理器
    #define A char
    这样,预处理器将在编译程序时用char替换所有的A,从而使A称为char的别名。
  • 使用关键字typedef
    typedef char B;//通用格式:typedef typeName aliasName;
    例如,要让B_pointer成为char指针的别名,
    typedef char *B_pointer;
    需要注意的是:
    我也可以用
    #define A_pointer char *
    但两种方式是有区别的。
    A_pointer p1,p2等效于char * p1,p2。
    也就是说A_pointer同时声明多个变量时,后面的变量成为了char类型。
    但采用第二种方法定义的别名不会出现这种问题。因此,typedef方法能够处理更复杂的类型别名,它是更好的选择——有时候也是唯一的选择。

你可能感兴趣的:(C++,《C++,Primer,Plus》学习笔记,c++)