通过索引从 std::vector 中擦除元素
在 C 中,std::vector 是一个在连续内存中高效存储元素的容器地点。要从向量中删除元素,请使用擦除函数。
问题:给定一个 std::vector,删除特定位置处的元素index.
示例:
std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); vec.erase(???); // How to delete the second element?
解决方案:
要通过索引删除单个元素,请使用 std: :next 将向量迭代器增加所需的值索引:
vec.erase(std::next(vec.begin(), elementIndex));
要删除一系列元素,请指定开始和结束迭代器:
int startIndex = 1; int endIndex = 3; vec.erase(std::next(vec.begin(), startIndex), std::next(vec.begin(), endIndex));
在提供的示例中,以下代码将删除第二个元素 (vec[ 1]):
vec.erase(std::next(vec.begin()));
要删除第二个和第三个元素,请使用:
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
以上是如何按索引从 C std::vector 中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!