vector删除元素造成迭代器失效
时间: 2023-11-15 20:00:31 浏览: 84
vector的earse造成迭代器失效的问题
在vector删除元素时,若迭代器指向删除元素之前的元素,则该迭代器仍有效。若迭代器指向被删元素及其之后的元素,则该迭代器将会失效。在添加、删除、修改元素时,尽量直接使用begin()和end(),或者使用insert()和erase()更新相应的迭代器,避免使用迭代器的中间量。如果需要使用中间量,建议在操作后重新获取迭代器。这样可以避免迭代器失效导致的程序崩溃或者错误结果。
阅读全文