二维数组的auto遍历格式
for (auto& aaa : newarr) {
for (auto& aaakid : aaa)
cout << aaakid << " ";
cout << endl;
}
#include#include #include using namespace std; void show(int val) { cout << val << endl; } class xinxi { public: xinxi(string name, int age) { this->name = name; this->age = age; } string name; int age; }; int main() { cout << "每个容器都有自己专属的迭代器" << endl; cout << "常用容器的迭代器都是双向和随机访问迭代器" << endl; vector arr; //push_back尾插 for (int i = 1; i <= 5; i++) arr.push_back(i * 10); vector ::iterator begin = arr.begin(); vector ::iterator end = arr.end(); while (begin != end) cout << *begin++ << endl; cout << endl; //头文件要包括algorithm for_each(arr.begin(), arr.end(),show); cout << endl; for (auto a : arr) { cout << a << endl; } vector xinxibiao; xinxi x1("tom", 6); xinxi x2("jerry", 5); xinxibiao.push_back(x1); xinxibiao.push_back(x2); for (auto a : xinxibiao) { cout <<"姓名:"< xinxibiao2; xinxi x3("tom", 7); xinxi x4("jerry", 6); xinxibiao2.push_back(&x3); xinxibiao2.push_back(&x4); for (auto aa : xinxibiao2) { cout << "姓名:" << (*aa).name << "年龄:" << (*aa).age << endl; } cout << "容器嵌套容器" << endl; vector > newarr; vector kid1; for (int i = 0; i < 5; i++) kid1.push_back(i); vector kid2; for (int i = 5; i < 10; i++) kid2.push_back(i); vector kid3; for (int i = 10; i < 15; i++) kid3.push_back(i); newarr.push_back(kid1); newarr.push_back(kid2); newarr.push_back(kid3); //C++本质没有多维数组,只是一维数组的多次嵌套 for (auto& aaa : newarr) { for (auto& aaakid : aaa) cout << aaakid << " "; cout << endl; } }



