简单来说,auto就是可以自己识别自己需要的类型并转变为它
举一下例子
遍历vector
vector<int> line={1,2,3,4,5,6,7,8,9};
//定义一个vector
迭代器遍历
void showvec(const vector<int>& line) {
for (vector<int>::const_iterator iter = line.cbegin();iter != line.cend(); iter++) {
cout << (*iter) << endl;
}
}
使用auto遍历
//第一种用法
void showvec(const vector<int>& line) {
for (auto iter = line.cbegin(); iter != line.cend(); iter++) {
cout << (*iter) << endl;
}
}
//第二种用法
for (auto lin : line) {
cout << lin;
}
遍历map
#include <iostream>
#include <map>
#include <queue>
using namespace std;
int main()
{
map<int, string> mp;
mp.insert(pair<int,string>(2,"hello"));
mp.insert(pair<int,string>(1,"miaomiaomiao"));
mp.insert(pair<int,string>(3,"world"));
for(auto &p : mp)
cout << p.first << endl;
return 0;
}