C++ vector assign() 函式
示例
將內容從一個 vector 複製到另一個 vector
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
vector<string> carbrands;
carbrands.assign(cars.begin(), cars.end());
for(string brand : carbrands) {
cout << brand << "\n";
}
自己動手試一試 »
定義和用法
assign()
函式會清空 vector 的內容,然後用資料填充它。
有兩種指定填充 vector 的資料的方式
- 指定要從另一個數據結構複製的資料範圍
- 指定一個值並指定重複次數
第一種情況,資料範圍由兩個迭代器指定,它們指示範圍的開始和結束。複製的資料將包含從開始到最後一個元素之前的所有元素,但不包括結束位置本身。
第二種情況,一個引數指定元素的數量,另一個引數指定這些元素的值。
語法
以下之一
vector.assign(iterator start, iterator end);
vector.assign(size_t amount, <type> value);
size_t
資料型別是一個非負整數。<type>
指的是 vector 包含的資料型別。
引數值
引數 | 描述 |
---|---|
start | 必需。指向要複製的資料範圍開始位置的迭代器。 |
end | 必需。指向要複製的資料範圍結束位置的迭代器。將複製到此位置的元素,但不復制此位置的元素。 |
amount | 必需。指定要放入 vector 的元素數量的整數。 |
value | 必需。寫入 vector 中每個元素的值。 |
更多示例
示例
用值填充 vector
vector<string> myVector;
myVector.assign(4, "Placeholder");
for (string item : myVector) {
cout << item << "\n";
}
自己動手試一試 »
相關頁面
請在我們的 Vector 教程 中閱讀更多關於 vector 的內容。
在我們 迭代器教程 中瞭解更多關於迭代器的資訊。