STL:遍历删除list里面的特定元素
#include #include #include #include #include using namespace std; typedef map MAP_INT; void print_list(std::list& list) { for(std::list::iterator it=list.begin(); it!=list.end(); ++it) { printf("it=%d\n", (*it)); } } void print_map(std::map& map) { for(std::map::iterator it=map.begin(); it != map.end(); it++) { printf("first=%d, second=%s\n", it->first, it->second.c_str()); } } typedef struct STC_ESCORT_CAR { int dwAccountID; int dwAge; std::string strName; }STC_ESCORT_CAR; void show(std::list& list) { for(std::list::iterator it=list.begin(); it != list.end(); ++it) { printf("element value=%d\n", (*it)); } } int main() { std::list list; list.push_back(5); list.push_back(335); list.push_back(650); list.push_back(9); list.push_back(1); printf("before remove:\n"); show(list); printf("\n"); std::list::iterator tmp; for(std::list::iterator it=list.begin(); it != list.end(); ) { if( (*it) > 10) { list.erase(it++); } else { ++it; } } printf("after remove:\n"); show(list); printf("\n"); }
本文来源 我爱IT技术网 http://www.52ij.com/jishu/4163.html 转载请保留链接。