摘要: 由于vector是顺序容器,因此删除一个位于中间的元素会导致迭代器失效,影响效率。对于保存在vector中的数据,如果数据本身对存储顺序没有要求,可以利用一个小技巧通过pop_back()来删除中间的元素。代码如下: for(size_t i = 0; i < vec.size(); ++i) { if(...) ///< 删除条件 { vec[i] = vec.back(); ///< vec[i]表示要删除的元素 vec.pop_back(); } } 阅读全文
posted @ 2012-11-22 01:57 酒瓶囧 阅读(599) 评论(0) 推荐(0) 编辑