📅  最后修改于: 2023-12-03 15:13:59.709000             🧑  作者: Mango
在 C++ 中,我们可以使用 STL 中的 vector(向量)容器来存储一组数值或对象。有时候,我们需要从向量中删除某个特定的元素。本文将介绍如何按值删除 vector 中的元素。
向量容器提供了 erase 和 remove 函数来删除 vector 中的元素。remove 函数将特定值移动到 vector 的末尾,然后返回迭代器指向新的末尾,而 erase 函数接受两个迭代器参数,可以将该范围内的元素从 vector 中删除。
以下是一个使用 remove 和 erase 函数删除 vector 中特定元素的示例代码:
#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
std::vector<int> v { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 使用算法 remove 将元素 5 移动到末尾
auto it = std::remove(v.begin(), v.end(), 5);
// 使用 erase 函数删除 vector 中所有值为 5 的元素
v.erase(it, v.end());
// 输出删除后的 vector
for (const auto& i : v) {
std::cout << i << ' ';
}
std::cout << std::endl;
return 0;
}
上述代码中,我们首先使用 remove 函数将元素 5 移动到了 vector 的末尾,然后使用 erase 函数删除了该范围内的所有元素。输出结果为:
1 2 3 4 6 7 8 9
本文介绍了如何按值删除 C++ 中的 vector 中的元素。希望这篇文章能对您有所帮助。