c++remove函数使用示例
时间: 2024-12-02 09:20:57 浏览: 1
C\C++文件操作——函数详解
在C++中,`std::remove()`函数是算法库 `<algorithm>` 中的一个成员函数,用于删除序列(如数组、向量等)中某个特定值的第一个匹配项,同时返回一个新的结束位置,原序列不会改变。这个函数通常配合 `std::remove_if()` 或者 `std::copy()` 使用,因为 `std::remove()` 本身并不移动元素。
下面是一个简单的 `std::remove()` 示例,假设我们有一个整数数组,并想删除所有大于50的元素:
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50, 60, 70, 80, 90};
// 定义要去除的值
int value_to_remove = 60;
// 计算移除后的终止位置
size_t new_end = std::remove(numbers.begin(), numbers.end(), value_to_remove);
// 移动原数组的结束位置到新的结束位置,但不改变元素
numbers.resize(new_end); // 数组的新长度不再包含大于50的元素
// 输出处理后的数组
for (size_t i = 0; i < numbers.size(); ++i) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个例子中,运行后你会看到输出只有 `[10, 20, 30, 40, 50]`,因为所有的60及以上已经被移除了。
阅读全文