首页 >后端开发 >C++ >如何通过 C 中的索引从 std::vector 中删除元素?

如何通过 C 中的索引从 std::vector 中删除元素?

DDD
DDD原创
2024-12-11 20:57:15266浏览

How to Remove an Element from a std::vector by Index in C  ?

通过索引从 std::vector 中删除元素

在 C 中,当使用 std::vector 时,可能会有需要通过索引删除元素的实例。

考虑这样一个场景,您有一个整数向量并且需要删除第 n 个元素。

解决方案:

要删除位置 n 处的单个元素,只需使用 std::erase 和迭代器到所需的位置位置。操作方法如下:

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// Deletes the second element (vec[1])
vec.erase(std::next(vec.begin()));

std::next(vec.begin()) 返回一个指向第二个元素的迭代器,然后将其删除。

如果你想删除多个连续元素,使用带有一系列迭代器的擦除:

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));

以上是如何通过 C 中的索引从 std::vector 中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn