auto 类型推导。在c++98/03 代表具有自动存储期的局部变量。在c++11中auto是一个类型指示符,用来提示编译器对此类型的变量做类型的自动推导。
auto推导的两条规则:
(1)当不声明为指针或者引用时,auto的推导结果和初始化表达式将抛弃引用和cv限定符(const 和volatile限定符)。
(2)当声明为指针或者引用时,auto推导的结果将保持初始化表达式的cv属性
auto的限制:
(1) 不能用于函数参数的类型推导
(2) 不能用户非静态成员变量
(3) 无法定义数组
(4) 无法推导出模板参数
auto使用:
1 |
|
输出:
1 | key = 1 value =0.5 |
当要使用的具体类型的名称过长时,可以使用auto进行推导简化代码。