C++ vector使用erase()删除元素时的注意事项

在使用erase()删除元素时,若是不清楚该函数实现原理,可能会形成莫名的bug,函数 正常状况下使用for循环查找vector中元素是否知足条件时通常会用错误演示中的代码,但这种状况可能会致使段错误,缘由在于,若是it当前为最后一个元素的迭代器,那么将会返回无效地址,此时将执行it++;正是这条语句致使的地址非法即段错误,所以要解决该问题,那么就须要将it回退到n-1处的地址,或者修改for循环
相关文章
相关标签/搜索