1 类型别名
使用类型别名是为了使名字简单、易于理解和使用
定义类型别名的方法由两种
- 传统方法是使用关键字typedef
typedef double wages; - C++ 11标准的新方法,使用别名声明
using SI = Sales_item;
采用using作为别名声明,紧跟别名和等号
类型别名和类型名字在等价
2 指针、常量和类型别名
typedef char *pstring; // 定义指向char的指针
const pstring cstr = 0; // cstr是指向char的常量指针
const pstring *ps; // ps是一个指针,对象是指向char的常量指针
3 auto类型说明符
由编译器分析表达式所属的类型
auto item = val1 + val2; //item初始化为val1+val2结果
auto也能在一条语句中声明多个变量
因为一条声明语句只能有一个基本数据类型,所以所有变量的初始基本数据类型都是一样的
auto会选择忽略顶层const,需要明确指出
4 decltype类型指示符
作用是选择并返回操作数的数据类型
编译器分析表达式得到类型,但不实际计算表达式的值
decltype(f()) sum =x; // sum的类型是函数f的返回类型