一、类型别名
1. typedef
typedef double wages;// wage是double的别名
typedef wages base, *p;//base是double的别名,p是double*的别名
- 别名声明
using SI = Sales_item; //SI是Sales_item的同义词
- 指针、常量和类型别名(p69)
typedef char *pstring;
const pstring cstr = 0; //cstr是指向char的常量指针
const pstring *ps; //ps是一个指针,它的对象是char的常量指针
2. auto类型说明符
让编译器自己分析变量数据类型
比如:
auto item = val1 + val2;
//由相加结果推断出item的类型
auto一般会忽略顶层const,底层const会保留下来(当初始值是一个指向常量的指针时)
const int ci = i, &cr = ci;
auto b = ci; //b是一个整数(ci的顶层特性被忽略)
auto c = cr; //c是一个整数(cr是ci的别名,ci本身是一个顶层const)
auto d = &i; //d是一个整型指针(整数的地址就是指向整数的指针)
auto e = &ci; //e是一个指向整数常量的指针(对常量对象取地址是一种底层const)
- 想要推断出类型是一个顶层const,需要明确指出
const auto f = ci; //ci推演类型是int,f是const int
欢迎各位大佬参观我的博客:https://bainiu2.github.io/