目录
- 一.auto推导规则4点
- 二.auto的使用时机
一.auto推导规则4点
(1) 引用不是类型,因此auto不能推断出引用
int a = 1;
int& b = a;// b-> int& 用->表示推导出类型,下同
auto c = b;// c->int
(2)auto 在推断引用的类型时,会直接将引用替换为引用指向的对象。
引用不是对象,任何引用的地方都可以直接替换为引用指向的对象。
int a = 10;
const int& b = a ;// b-> const int&
auto c = b; // c-> int
//相当于 auto c = a;
由于在传递值时,修改这个值不会对原有的数据造成影响,而传递引用时,修改这个值会对修改原有的数据。
(3)auto 关键字推断类型时,如果没有引用符号,那么会忽略值类型的const修饰,而保留修饰指向对象的const
const int i =1;
auto j = i;//j-> int
int a ;
const int* c