在我的代码的主数据结构是为标准::矢量迭代有效性<性病::矢量<T>>
std::vector<std::vector<T>> Worldlines ;
以我的子程序的一个予删除和添加元素(潜在地导致所述容器的重新分配有更多的能力)到其中一个组件(比如说Worldlines[i]
)。
如果我有一些T
在矢量Worldlines[i]
其位置我保存为std::vector<T>::iterator
对象,他们可能会普遍地,如果Worldlines[i]
被重新分配无效。
迭代器如何指向T
属于Worldlines[j]
与j != i
?它们是否保证仍然有效,或者其中一个载体的重新分配可能导致其他载体的重新分配,因为它们受载体向量的约束?
谢谢大家。
我编辑的问题,以避免不同类型的迭代器之间的混淆。 –