在C++11中革新了auto关键字;
auto(类型推导)
自C++11以来,auto关键字用于类型推导:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
举例:对于值s=6;即可以声明:int s= 6或long s = 6,也可以直接声明auto x = 6。
但是,这么简单的变量声明类型,其实并不建议用auto关键字,而是应更清晰地直接写出其类型。
auto关键字更适用于类型冗长复杂、变量使用范围专一时,使程序更清晰易读:
标准的一个vector读取 使用vector的迭代器;
vector<int> vec;
vec = { 11, 22,33,44, 55, 66, 77, 88, 99 };
for (vector<int>::iterator i = vec.begin(); i < vec.end(); i++)
{
cout << *i << " ";
}
简单的写法:vector输出 auto自动推导出迭代;
vector<int> vec;
vec = { 11, 22,33,44, 55, 66, 77, 88, 99 };
for (auto i = vec.begin(); i < vec.end(); i++)
{
cout << *i << " ";
}
最简单的写法:输出每个元素;
vector<int> vec;
vec = { 11, 22,33,44, 55, 66, 77, 88, 99 };
for (auto i:vec)
{
cout << i <<" ";
}
仔细看看上面auto自动推导的优势就体现出来,有兴趣可以分别打印出i的数据类型 ;
cout << typeid(i).name() << endl;