c++ vector erase接受的参数类型
时间: 2024-04-02 08:29:47 浏览: 105
c++ vector erase函数接受的参数类型是迭代器(iterator)。具体来说,它接受一个指向要删除元素的位置的迭代器作为参数。通过调用erase函数,可以从vector中删除指定位置的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除第三个元素
vec.erase(vec.begin() + 2);
// 输出剩余的元素
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:1 2 4 5
相关问题
c++vector erase
在C++中,可以使用`std::vector`的`erase`函数来删除向量中的元素。`erase`函数有两种用法:
1. 删除单个元素:
```cpp
std::vector<int> vec {1, 2, 3, 4, 5};
vec.erase(vec.begin() + index);
```
其中,`index`是要删除的元素的索引位置。
2. 删除一定范围内的元素:
```cpp
std::vector<int> vec {1, 2, 3, 4, 5};
vec.erase(vec.begin() + start, vec.begin() + end);
```
其中,`start`和`end`分别是要删除的范围的起始和结束索引位置。
需要注意的是,使用`erase`函数后,被删除元素之后的所有元素都会向前移动。如果需要删除多个元素,可能需要调整索引位置。
c++ vector erase
在 C++ 中,vector 是一个动态数组容器,可以使用 erase() 函数来删除其中的元素。erase() 函数有两种用法:
1. 删除单个元素:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
vector<int>::iterator it = nums.begin() + 2; // 指向要删除的元素的迭代器
nums.erase(it); // 删除索引位置为2的元素(即值为3的元素)
```
2. 删除一定范围的元素:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
vector<int>::iterator start = nums.begin() + 1; // 起始位置的迭代器
vector<int>::iterator end = nums.begin() + 3; // 结束位置的迭代器(不包含该位置的元素)
nums.erase(start, end); // 删除索引位置1到2的元素(即值为2和3的元素)
```
注意:在使用 erase() 函数后,原 vector 容器中的元素会被修改,后面的元素会向前移动来填补被删除的空位。
阅读全文