vectors 并未提供任何函数可以直接移除"与某值相等"的所有的元素.这是算法发挥威力的时候。
以下语句可将所有其值为 val 的元素移除:
std::vector<Elem> coll;
...
// 移除所有与 val 值相等的元素.
coll.erase(remove(coll.begin(), coll.end(), val), coll.end());
如果只是要移除"与某值相等"的第一个元素, 可以这样做
std::vector<Elem> coll;
//...
std::vector<Elem>::iterator pos;
pos = find(coll.begin(), coll.end(), val);
if (pos != coll.end())
{
coll.erase(pos);
}
以上摘自《C++ 标准程序库》 p154