C++ vector erase() 函数

定义和用法

erase() 函数用于从向量中移除一个元素或一系列元素。要移除的元素通过迭代器指定。

实例

例子 1

从向量中移除一个元素:

vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla"};

cars.erase(cars.begin() + 1);

for (string car : cars) {
  cout << car << "\n";
}

亲自试一试

例子 2

从向量中移除一系列元素:

vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla", "Toyota"};

cars.erase(cars.begin() + 1, cars.end() - 1);

for (string car : cars) {
  cout << car << "\n";
}

亲自试一试

语法

以下之一:

vector.erase(iterator position);
vector.erase(iterator start, iterator end);

参数

参数 描述
position 必选。指向要移除的元素的迭代器。
start 必选。指向要移除的元素范围的起始位置的迭代器。
end

必选。指向要移除的元素范围的结束位置的迭代器。

会移除直到此位置的元素,但不会移除此位置的元素。

技术细节

返回:

指向被移除元素之后的第一个元素的迭代器。

如果被移除元素之后没有元素,则迭代器指向 vector.end()

相关页面

教程:C++ 向量

教程:C++ 迭代器