C++关键字auto、typedef的说明

类型别名
typedef
typedef double wages;
tyoedef wages base,p;
//此处p是 wages
的别名,也就是说,p是 double*类型的

p A等价于 double *A;

auto 自动类型
auto让编译器通过初始值来推断变量的类型。
1.所以auto定义的变量是需要赋初值的。
2.auto连续定义的变量初始类型得一致。

情况二:
1.编译器推断的对象和初始值的类型并不完全一样,编译器会适当的改变结果的类型使其更加符合初始化规则。
如:引用作为初始值
int i=0,&r=i;
auto a=r;
此时,r是i的引用。
2.auto一般会忽略顶层const ,保留底层const,比如当初始值是一个指向常量的指针时:
顶层const:指针是一个常量
底层const:指针指向的对象是一个常量。
如:
const int ci=i,&cr=ci;
auto b=ci;//b是一个整数(auto,顶层const被忽略)
auto c=cr;//c是一个整数
auto d=&i,//d是一个整型指针(整数的地址就是指向整数的指针)
auto e=&ci//e是一个指向整型常量的指针。

3.auto绑定引用:
auto &g=ci;
const auto &j=42;

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页