對於STL中的載體v
,是否安全地存儲v.end()
(例如vector :: iterator)供以後使用?我會保證,當我稍後使用存儲的迭代器時,它仍然會指向相同的位置?我們可以安全地依賴迭代器的v.end()的位置嗎?
考慮以下向量v
:
1, 2, 3, 4, 5
我現在儲存起來std::vector<int>::iterator it = v.end()
。後來,我推入了2個新元素,之後它看起來像:
1, 2, 3, 4, 5, 6, 7
。
我現在可以放心嗎*it == 6
?
我在答案中犯了一個小錯誤,但我糾正了它。查看編輯的答案。 –