需要一些帮助。这就是我想做的事情
std::list<int> mylist;
std::list<int>::iterator it;
it = mylist.begin();
for (int i=1; i<=5; ++i)
mylist.push_back(i); // 1 2 3 4 5
mylist.insert (it,10); // 10 1 2 3 4 5 expected but output is 1 2 3 4 5 10
我实际上需要在我的项目中做这样的事情。有更好的方法来实现这个目标
答案 0 :(得分:0)
您在
之后编写代码it = mylist.begin();
for (int i=1; i<=5; ++i)
mylist.push_back(i); // 1 2 3 4 5
因为它指向最后一个索引。
答案 1 :(得分:0)
存储索引而不是迭代器。这样就不会发生失效。