C++ vector使用erase()删除元素时的注意事项
在使用erase()删除元素时,如果不清楚该函数实现原理,可能会造成莫名的bug,
正常情况下使用for循环查找vector中元素是否满足条件时一般会用错误演示中的代码,但这种情况可能会导致段错误,原因在于,如果it当前为最后一个元素的迭代器,那么将会返回无效地址,此时将执行it++;正是这条语句导致的地址非法即段错误,因此要解决该问题,那么就需要将it回退到n-1处的地址,或者修改for循环,...
原创
2020-05-07 16:55:57 ·
1601 阅读 ·
1 评论