在我的代碼的主數據結構是爲標準::矢量迭代有效性<性病::矢量<T>>
std::vector<std::vector<T>> Worldlines ;
以我的子程序的一個予刪除和添加元素(潛在地導致所述容器的重新分配有更多的能力)到其中一個組件(比如說Worldlines[i]
)。
如果我有一些T
在矢量Worldlines[i]
其位置我保存爲std::vector<T>::iterator
對象,他們可能會普遍地,如果Worldlines[i]
被重新分配無效。
迭代器如何指向T
屬於Worldlines[j]
與j != i
?它們是否保證仍然有效,或者其中一個載體的重新分配可能導致其他載體的重新分配,因爲它們受載體向量的約束?
謝謝大家。
我編輯的問題,以避免不同類型的迭代器之間的混淆。 –