auto 会去掉引用,去掉顶层const,这块知识又重新看了一下。
首先要知道,顶层和底层const只有指针类型才有,
先看一下普通类型
const 常量,初始化之后就不可变。
const int a = 10;
a = 3; //编译失败
普通指针不能指向一个常量
int * p = &a; //编译失败
因为普通指针解引,可以修改原地址的值。
就有了指向常量的指针。
auto 会去掉引用,去掉顶层const,这块知识又重新看了一下。
首先要知道,顶层和底层const只有指针类型才有,
先看一下普通类型
const 常量,初始化之后就不可变。
const int a = 10;
a = 3; //编译失败
普通指针不能指向一个常量
int * p = &a; //编译失败
因为普通指针解引,可以修改原地址的值。
就有了指向常量的指针。