std::vector<T,Allocator>::assign
提供: cppreference.com
void assign( size_type count, const T& value ); |
(1) | |
template< class InputIt > void assign( InputIt first, InputIt last ); |
(2) | |
void assign( std::initializer_list<T> ilist ); |
(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> に文字を追加します。
Run this code
#include <vector>
#include <iostream>
int main()
{
std::vector<char> characters;
characters.assign(5, 'a');
for (char c : characters) {
std::cout << c << '\n';
}
return 0;
}
出力:
a
a
a
a
a
関連項目
vector を構築します (パブリックメンバ関数) |