解决方法
你可以使用
Erase-remove idiom for std::vector
引用:
std::vector<int> v; // fill it up somehow v.erase(std::remove(v.begin(),v.end(),99),v.end()); // really remove all elements with value 99
或者,如果您确定它是唯一的,只需遍历向量并擦除发现的元素.就像是:
for( std::vector<T>::iterator iter = v.begin(); iter != v.end(); ++iter ) { if( *iter == VALUE ) { v.erase( iter ); break; } }