C++ vector assign() 函数
示例
将内容从一个向量复制到另一个向量:
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
vector<string> carbrands;
carbrands.assign(cars.begin(), cars.end());
for(string brand : carbrands) {
cout << brand << "
";
}
亲自试一试 »
定义和用法
assign() 函数会清空向量的内容,然后用数据填充它。
有两种方法可以指定要填充向量的数据:
- 指定要从另一个数据结构复制的数据范围
- 指定一个值以及要重复的次数
在第一种情况下,数据范围由两个迭代器指定,分别指示范围的起始点和结束点。复制的数据将包含从起始点到倒数第二个元素的所有元素,但不包括结束点本身。
在第二种情况下,一个参数指定元素的数量,另一个参数指定这些元素的值。
语法
以下选项之一:
vector.assign(iterator start, iterator end);
vector.assign(size_t amount, <type> value);
size_t 数据类型为非负整数。<type> 指的是向量中包含的数据类型。
参数值
| 参数 | 描述 |
|---|---|
| start | 必需。指向要复制的数据范围起始位置的迭代器。 |
| end | 必需。指向要复制的数据范围结束位置的迭代器。将复制到此位置之前的元素,但不会复制此位置的元素。 |
| amount | 必需。指定要放入向量中的元素数量的整数。 |
| value | 必需。要写入向量中每个元素的值。 |
更多示例
示例
用以下值填充向量:
vector<string> myVector;
myVector.assign(4, "Placeholder");
for (string item : myVector) {
cout << item << "
";
}
亲自试一试 »
相关页面
阅读我们的向量教程,了解更多关于向量的知识。
阅读我们的迭代器教程,了解更多关于迭代器的内容。

