C++中的vector中erase用法实例代码
简介
在C++中,vector是一种非常常用的容器,它可以动态地管理内存,能够随时加入或者删除元素。vector的erase方法是其中非常常用的函数之一,通过该函数我们可以删除vector中的元素。
使用方法
vector中的erase函数有多种使用方法,其中比较常用的有两种,分别是通过迭代器和通过下标。下面将分别进行说明。
通过迭代器删除元素
我们可以通过迭代器删除vector中的元素,这样可以比较灵活地删除任意位置的元素,其语法如下:
iterator erase (iterator position);
iterator erase (const_iterator position);
其中,position即为欲删除元素的位置。该方法返回指向删除元素之后的下一个元素的迭代器。
下面是一个使用迭代器删除元素的例子,我们初始化一个含有5个元素的vector,然后删除第3个元素:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec{1, 2, 3, 4, 5};
auto it = vec.begin() + 2; // 获取第3个元素的迭代器
vec.erase(it); // 删除第3个元素
for (auto i : vec) {
std::cout << i << " ";
}
return 0;
}
输出结果为:
1 2 4 5
通过下标删除元素
我们也可以通过下标删除vector中的元素,其语法如下:
iterator erase (iterator first, iterator last);
iterator erase (const_iterator first, const_iterator last);
其中,first和last即为欲删除元素的区间,即[first, last)。
下面是一个使用下标删除元素的例子,我们初始化一个含有5个元素的vector,然后删除第3个元素:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec{1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第3个元素
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
return 0;
}
输出结果为:
1 2 4 5
总结
vector中的erase函数能够方便地删除vector中的元素,它的使用方法也比较灵活。在使用时,我们需要根据自己的实际需求来选择适合自己的删除方法,以达到最佳效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中的vector中erase用法实例代码 - Python技术站