第一次写博客,突然有点小紧张。
不算是什么原创内容,也算是网上找到的各种答案,总结一下吧。
在使用迭代器时还是有很多问题要注意的,稍不注意,就会出现恶心的runtime error。这些错误不像一般的error那么友好,他们不会提示哪里出错。
1.在erase元素的时候,应该注意迭代器越界的问题,如
for (auto it = vec.begin(); it != vec.end(); ++it){if (*it == 2) vec.erase(it);}
for (auto it = vec.begin(); it != vec.end(); ){if (*it == 2)it = vec.erase(it);else++it;}
for (auto it = vec.begin(); it != vec.end(); ++it){vec.push_back(1);it = vec.begin();}
686




被折叠的 条评论
为什么被折叠?



