相关疑难解决方法(0)

C++迭代器的生命周期和有效性是什么?

我打算在C++中实现一个Things列表,其中的元素可能会被无序删除.我不希望我需要任何类型的随机访问(我只需要定期扫描列表),项目的顺序也不重要.

所以我想std::list<Thing*> with this->position = insert(lst.end(), thing)应该做的伎俩.我希望Thing类能够记住每个实例的位置,以便以后可以轻松地完成lst.erase(this->position).

但是,我对C++ STL容器仍然有点新意,我不知道将迭代器保持这么长时间是否安全.特别是,考虑到在插入Thing之前和之后将删除其他元素.

c++ iterator stl object-lifetime

11
推荐指数
1
解决办法
4161
查看次数

标签 统计

c++ ×1

iterator ×1

object-lifetime ×1

stl ×1