【发布时间】:2018-01-19 20:43:51
【问题描述】:
我一直在从这个论坛和其他人那里寻找解决这个问题的方法。我发现的唯一结果是关于迭代列表或访问向量列表中的元素。所以我想访问一个向量的擦除()函数。但是我需要在向量包含在列表容器中的情况下完成它。我有一个示例代码可以帮助解释。
#include<vector>
#include<list>
#include<iostream>
using namespace std;
int main()
{
vector <int> a1 = { 1, 1, 1, 1, 1 };
vector <int> a2 = { 2, 2, 2, 2, 2 };
vector <int> a3 = { 3, 3, 3, 3, 3 };
list<vector<int>> listVec;
listVec.push_back(a1);
listVec.push_back(a2);
listVec.push_back(a3);
for (auto p : listVec){
for (auto p1 : p){
cout << p1;
}
cout << "\n";
}
}
那么从向量 a2 中删除一个元素的最简单方法是什么,因为它包含在列表中。现在我什至没有错误的版本。 这段代码应该在遍历循环的某个地方,但我写不出来。
谢谢
【问题讨论】:
-
我知道 erase() 是如何工作的,当我想从中删除元素的向量包含在向量列表中时,我找不到访问它的方法。