在这个例子中,我们首先创建了一个包含一些整数的std::vector。然后,我们使用std::find来找到值为3的元素的迭代器。如果找到了该元素(即迭代器不等于vec.end()),我们就使用vec.erase(it)来删除它。最后,我们遍历并打印出删除后的vector。
①只删除一个元素: vector<int> num; for(vector<int>::iterator iter=num.begin();iter!=num.end();iter++){ //从vector中删除指定的某一个元素 if(*iter==k){ num.erase(iter); break; } } 1. 2. 3. 4. 5. 6. 7. 8. ②删除指定的多个重复元素:erase函数的返回的是指向被删除元素的下...
for (std::map<CString, std::vector<CString>>::iterator iter=m_mapName.begin();iter!=m_mapName.end();){ std::vector<CString> & vec = iter->second;// 对vec可以进行任意的操作,删除一个元素自然不在话下 }