【发布时间】:2016-12-24 17:11:45
【问题描述】:
如何使用迭代器在列表中插入内容?例如,我有一个对象列表myobj,其中myobj 包含另一个list<int>。
class myobj {
//other data goes here
list<int> l;
};
list <myobj> x;
假设我想为x的第n个元素中的列表调用insert()函数,我会这样做
list<myobj>::iterator itr = x.begin();
std::advance(itr,n);
itr->insert(n); //It gives a compilation error.
我尝试学习insert_iterator,但我得到的大多数示例都与copy()函数一起使用,但在这里我想调用myobj内列表的insert()函数。
【问题讨论】:
-
编译器应该会因为你在
list<int>列表上使用list<int>迭代器而窒息。 -
使用
std::advance定位迭代器。