auto 是在变量定义的时候,用别人的类型作为自己类型的一种定义变量的方式。
也叫做类型自动推断。
- int a = 1;
- auto b = a;//b的类型为a的类型int
有const的场景
- const int a = 1;
- auto b = a;//b的类型为 int,因为拷贝对象的时候,top-level const 被忽略
auto& a = b; 表示 a是b的引用,类型与b相同。
有引用的场景
- int a = 1;
- auto& b = a;//b是a的别名(也就是引用)
同时有 const 和引用的场景
- const int a = 1;
- auto& b = a;//b是a的别名
auto最常用的场景是对于复杂类型的简化。
下一篇文章 C++迭代器 我们就会看到。