使用索引擦除stl :: vector中的元素,可以使用erase函数。erase函数可以接受一个迭代器或者一个迭代器范围作为参数,并返回一个指向删除元素之后的第一个元素的迭代器。
以下是一个示例代码:
#include<iostream>
#include<vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
// 删除第二个元素
std::vector<int>::iterator it = v.begin() + 1;
v.erase(it);
// 输出删除后的vector
for (int i = 0; i < v.size(); i++) {
std::cout << v[i] << " ";
}
std::cout<< std::endl;
return 0;
}
输出结果为:
1 3 4 5
在上面的示例代码中,我们使用了erase函数来删除vector中的第二个元素。注意,erase函数返回的是删除元素之后的第一个元素的迭代器,因此我们需要将返回的迭代器赋值给vector的迭代器。
领取专属 10元无门槛券
手把手带您无忧上云