std::vector<T,Allocator>::assign - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
(1) | |
|
|
(2) | |
|
|
(3) | (C++11以上) |
コンテナの内容を置き換えます。
1) 内容を値 value のコピー count 個で置き換えます。
2) 内容を範囲 [first, last) の要素のコピーで置き換えます。 いずれかの引数が *this 内を指すイテレータの場合、動作は未定義です。
このオーバーロードは、InputIt が整数型の場合、オーバーロード (1) と同じ効果を持ちます。 |
(C++11未満) |
このオーバーロードは、InputIt が LegacyInputIterator を満たす場合にのみ、オーバーロード解決に参加します。 |
(C++11以上) |
3) 内容を初期化子リスト ilist の要素で置き換えます。
コンテナの要素へのイテレータ、ポインタ、参照はすべて無効化されます。 終端イテレータも無効化されます。
引数
| count | - | コンテナの新しいサイズ |
| value | - | コンテナの要素の初期化元の値 |
| first, last | - | 要素のコピー元の範囲 |
| ilist | - | 値のコピー元の初期化子リスト |
計算量
1) count に比例。
2) first と last の距離に比例。
3) ilist.size() に比例。
例
以下のコードは assign を使用して std::vector<char> に文字を追加します。
#include <vector> #include <iostream> int main() { std::vector<char> characters; characters.assign(5, 'a'); for (char c : characters) { std::cout << c << '\n'; } return 0; }
出力: