在vector中删除元素,务必需要注意的一点是,vector在删除之后,已经发生变化,后续的有关操作必须考虑到删除操作带来的影响。
要删除单个元素,你应该这样做:
std::vectorvec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); // 删除第二个元素 (vec[1]) vec.erase(vec.begin() + 1);
或者要一次性删除多个元素,你应该这样做:
// 删除第二个和第三个元素 (vec[1], vec[2]) vec.erase(vec.begin() + 1, vec.begin() + 3);