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 << "\n";
}
亲自尝试 »
定义和用法
The assign()
函数清除向量的内容,然后用数据填充它。
有两种方法可以指定哪些数据应该填充向量
- 指定要从另一个数据结构中复制的数据范围
- 指定一个值和重复该值的次数
在第一种情况下,数据范围由两个迭代器指定,它们指示范围的开始和结束。复制的数据将包含从开始到结束之前最后一个元素的所有元素,不包括结束本身。
在第二种情况下,一个参数指定元素的数量,另一个参数指定这些元素的值。
语法
以下之一
vector.assign(iterator start, iterator end);
vector.assign(size_t amount, <type> value);
The size_t
数据类型是一个非负整数。 <type>
指的是向量包含的数据的类型。
参数值
参数 | 描述 |
---|---|
start | 必需。一个指向要复制的数据范围开头的迭代器。 |
end | 必需。一个指向要复制的数据范围结尾的迭代器。将复制到此位置的元素,但不会复制此位置的元素。 |
amount | 必需。一个整数,指定要放入向量的元素数量。 |
value | 必需。要写入向量的每个元素的值。 |
更多示例
示例
用值填充向量
vector<string> myVector;
myVector.assign(4, "Placeholder");
for (string item : myVector) {
cout << item << "\n";
}
亲自尝试 »
相关页面
在我们的 向量教程 中了解更多关于向量的知识。
在我们的 迭代器教程 中了解更多关于迭代器的知识。