Effective STL 09 删除元素
************************************************
时间:2013年10月18日
作者:常保龙
地点:核所C105
************************************************
当删除容器中的元素时,总是或多或少遇到一些问题,要么是迭代器失效,要么是效率问题;不过幸好有Effective STL,让自己豁然开朗。如下规则:
1、标准序列容器:vector、deque、string、list
//删除元素的同时,在循环体内做事for (AssocContainer<int>::iterator i = c.begin(); i != c.end();){if (badValue(*i)){logFile << "Erasing " << *i << '\n'; v.erase(i++); //返回已删除元素的下一个元素的迭代器}else{++i; }}