auto简介
在C++11中,auto是在定义变量类型时,自动推断函数的变量,可以简化代码使代码更具有可读性。
例如:
应用注意点一
auto x=1.2;// 正确,这里的x被auto推断为double类型
auto x; // 错误,这里的x被auto推断为double类型
不过,要注意的时,选用auto时,需要对变量进行赋值,否则会报错;但是这么简单的变量,为了代码的可读性考虑,最好不用auto,直接给与对应的double类型会更好些。
应用注意点二
auto a1 = 1, a2 = 2, a3 = 3; //错误,没有推导为同一类型
auto b1 = 1, b2 = 2.0, b3 = '1';//错误,没有推导为同一类型
b1为int、b2为double、b3为char,一个序列变量中,不是同一类型,无法进行推导,编译会报错。
应用注意点三
std::vector<int> vec;
for(auto num = vec.begin();num!=vec.end(); ++num)
{
'''//此时,num的变量类型为std::vector<int>::iterator
}
这种类型比较长的变量,使用auto可以使代码更加简洁易读,这也是个人理解的auto关键字的意义。