vector遍历删除特定项目和遍历删除所有项目方法
1 #include <iostream> 2 #include <string> 3 #include <vector> 4 5 using namespace std; 6 7 int main(void) 8 { 9 vector<string> vecStr; 10 11 vecStr.push_back("aaa"); 12 vecStr.push_back("bbb"); 13 vecStr.push_back("ccc"); 14 vecStr.push_back("ddd"); 15 vecStr.push_back("eee"); 16 vecStr.push_back("fff"); 17 vecStr.push_back("ggg"); 18 19 for (vector<string>::iterator iter = vecStr.begin(); iter != vecStr.end(); ++iter) 20 { 21 cout << *iter << endl; 22 } 23 cout << "-----------------------------" << endl; 24 for (vector<string>::iterator iter = vecStr.begin(); iter != vecStr.end();) 25 { 26 if ("ggg" == *iter) 27 { 28 iter = vecStr.erase(iter); 29 } 30 else 31 { 32 ++iter; 33 } 34 } 35 cout << "************************************" << endl; 36 for (vector<string>::iterator iter = vecStr.begin(); iter != vecStr.end(); ++iter) 37 { 38 cout << *iter << endl; 39 } 40 return 0; 41 }
1 //遍历删除所有元素 2 for (vector<string>::iterator iter = vecStr.begin(); iter != vecStr.end();) 3 { 4 iter = vecStr.erase(iter); 5 }