STL 中的迭代器失效
一、迭代器失效 向容器添加或者删除元素可能会导致指向容器的指针、引用或者迭代器失效。使用已经失效的指针、引用或者迭代器将会导致程序出现异常,编码过程中一定要时刻注意迭代器失效的场景。 例如,以 vector 为例:
|
1 2 3 4 5 6 7 8 9 10 |
int main() { vector<int> v{1, 2}; vector<int>::iterator it; for (it = v.begin(); it != v.end(); it++) { v.push_back(*it); } return 0; } |
执行以上代码会导致段错 ... 阅读更多