名前空間
変種
操作

std::list<T,Allocator>::assign

提供: cppreference.com
< cpp‎ | container‎ | list
 
 
 
 
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未満)
このオーバーロードは、InputItLegacyInputIterator を満たす場合にのみ、オーバーロード解決に参加します。 (C++11以上)
3) 内容を初期化子リスト ilist の要素で置き換えます。

コンテナの要素へのイテレータ、ポインタ、参照はすべて無効化されます。


目次

[編集] 引数

count - コンテナの新しいサイズ
value - コンテナの要素の初期化元の値
first, last - 要素のコピー元の範囲
ilist - 値のコピー元の初期化子リスト

[編集] 計算量

1) count に比例。
2) firstlast の距離に比例。
3) ilist.size() に比例。

[編集]

以下のコードは assign を使用して std::list<char> に文字を追加します。

#include <list>
#include <iostream>
 
int main()
{
    std::list<char> characters;
 
    characters.assign(5, 'a');
 
    for (char c : characters) {
        std::cout << c << '\n';
    } 
 
    return 0;
}

出力:

a
a
a
a
a

[編集] 関連項目

list を構築します
(パブリックメンバ関数) [edit]