- auto---------编译器可以根据变量的初始化表达式自动推断出其类型。(所以也可以避免定义类型的时候出错)
- 注意
1.auto定义变量时必须对其进行初始
2.在同一行定义多个变量,这些变量必须是相同的类型
3.auto
关键字也可以与其它类型修饰符一起使用,例如const
、&
等。例如:
const auto pi = 3.14159; // 推导为const double类型
const auto* p = &a; // 推导为指向常量的指针类型
int a=0;
auto &b=a; //推导出指针
4.auto关于引用和指针------用auto声明指针类型时,用auto和auto*没有任何区别, 但是用auto声明引用类型时则必须加&。
3.auto不能推导的场景
- auto不能作为函数的参数:void a(auto a)
- auto不能直接用来声明数组:auto b={1,2,3};