C++ vector insert() 函数
示例
在 vector 中插入元素
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.insert(cars.begin() + 2, "Toyota");
for (string car : cars) {
cout << car << "\n";
}
自己动手试一试 »
定义和用法
insert()
函数在 vector 的指定位置插入一个或多个元素。
指定位置需要使用迭代器。有三种指定要插入的值的方式:
- 为单个元素指定一个值
- 指定要插入的元素数量,以及用于填充所有这些元素的值
- 指定要从另一个数据结构复制的元素范围
语法
以下之一
vector.insert(iterator position, <type> value);
vector.insert(iterator position, size_t amount, <type> value);
vector.erase(iterator position, iterator start, iterator end);
size_t
数据类型是一个非负整数。<type>
指的是 vector 包含的数据类型。
参数值
参数 | 描述 |
---|---|
position | 必需。指向要插入元素的迭代器。 |
amount | 必需。一个整数,指定要插入的元素数量。 |
value | 必需。插入元素将包含的值。 |
start | 必需。指向要复制范围的开始的迭代器。 |
end | 必需。指向要复制范围的结束的迭代器。将复制到此位置的元素,但不复制此位置的元素。 |
技术详情
返回 | 指向第一个插入元素的迭代器。 |
---|
更多示例
示例
多次插入一个值
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.insert(cars.begin() + 2, 3, "Toyota");
for (string car : cars) {
cout << car << "\n";
}
自己动手试一试 »
示例
从另一个 vector 插入元素范围
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
vector<string> newcars = {"Toyota", "Mercedes"};
cars.insert(cars.begin() + 2, newcars.begin(), newcars.end());
for (string car : cars) {
cout << car << "\n";
}
自己动手试一试 »
相关页面
请在我们的 Vector 教程 中阅读更多关于 vector 的内容。
在我们 迭代器教程 中了解更多关于迭代器的信息。