37 CPP自动推到类型
在C++98中,auto关键字用于修饰变量(自动存储的局部变量)
在C++11中,赋予了auto全新的含义,不再用于修饰变量,而是作为一个类型指示符,指示编译器在编译时推导auto声明的变量的数据类型。
在Linux平台下,编译需要加 -std=c++11参数
注意:
1 auto声明的变量必须在定义时初始化
2 右值可以是具体的数值,也可以是表达式和函数的返回值。
3 auto不能作为函数的形参类型
4 auto不能直接声明数组
5 auto不能定义类的非静态成员变量
不要滥用auto,auto在编译时真正的用途如下:
1 代替冗长复杂的变量声明。(比如函数指针)
2 在模板中,用于声明依赖模板参数的变量
3 函数模板依赖模板参数的返回值
4 用于lambda表达式
本文介绍了C++11中auto关键字的新功能,它被用来指示编译器推导变量类型。在Linux环境下,需用-std=c++11参数编译。auto变量必须初始化,不能用于函数形参和数组定义。合理使用auto可以简化复杂声明,尤其在模板、lambda表达式和依赖模板参数的场景中。
1101

被折叠的 条评论
为什么被折叠?



