名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
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::deque<char> に文字を追加します。

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

出力:

a a a a a

[編集]関連項目

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