C++11的auto自动推导类型
auto是C++11的类型推导关键字,很强大
例程看一下它的用法
#include<vector>
#include<algorithm>
#include<functional>
#include<iostream>
using namespace std;
int main()
{
int ia[] = {1,2,3,4,5,6,7,8,9,10};
vector<int> vi;
for(int i=0; i<10; ++i)
vi.push_back(ia[i]);
for(auto i : ia)//i自动遍历获取ia的值,此时i是int类型
cout<<i<<" ";
cout<<endl;
for(auto& i : ia)//i自动遍历获取ia各个元素的引用,此时i是引用类型
i = i*3;
for(auto a : ia)
cout<<a<<" ";
cout<<endl;
vector<int> bi(vi);
for(auto ite=bi.begin(); ite!=bi.end(); ++ite)//i为迭代器
cout<<*ite<<" ";
cout<<endl;
return 0;
}
运行效果
使用自动推导类型必须要清楚此处是需要的是什么类型,不然可能会造成类型错误。
不积小流无以成江河