c++ vector.erase原理
时间: 2024-02-01 13:11:30 浏览: 260
C++ vector的讲解
C++中的vector是一个动态数组,它提供了erase函数用于删除vector中的元素。vector.erase函数的原理如下:
1. erase函数接受一个迭代器参数,用于指定要删除的元素位置。迭代器是指向vector中元素的指针或引用。
2. erase函数会将指定位置的元素从vector中删除,并将后面的元素向前移动,以填补删除的空缺。
3. 删除元素后,vector的大小会减小,因此erase函数会返回一个指向被删除元素之后位置的迭代器。
4. 如果要删除多个连续的元素,可以使用erase函数的重载版本,该版本接受两个迭代器参数,用于指定要删除的元素范围。
下面是一个示例代码,演示了如何使用vector.erase函数删除元素:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除第三个元素
vec.erase(vec.begin() + 2);
// 输出删除后的vector
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:1 2 4 5,第三个元素3被成功删除。
阅读全文