vector::erase()返回值
时间: 2023-08-25 08:17:50 浏览: 277
`std::vector::erase()` 函数返回一个指向被删除元素之后位置的迭代器。具体来说,它返回一个指向删除元素之后的元素的迭代器,如果删除的是最后一个元素,则返回指向容器末尾的迭代器。
下面是一个示例代码,演示了 `std::vector::erase()` 函数的返回值的用法:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.erase(vec.begin() + 2); // 删除索引为2的元素
// 打印剩余的元素
for (auto num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
// 打印被删除元素后的元素
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
运行上述示例代码后,输出结果为:
```
1 2 4 5
4 5
```
在示例代码中,我们使用 `erase()` 函数删除了索引为2的元素(即值为3的元素),并将返回的迭代器保存在变量 `it` 中。然后,我们打印了剩余的元素,即1、2、4和5。接下来,我们使用 `it` 迭代器打印被删除元素之后的元素,即4和5。
阅读全文