set& operator=(const set& x); // (1) C++03
set& operator=(set&& x); // (2) C++11
set& operator=(set&& x)
noexcept(allocator_traits<Allocator>::is_always_equal::value
&& is_nothrow_move_assignable<Compare>::value); // (2) C++17
set& operator=(initializer_list<value_type> init); // (3) C++11
概要
- (1) : コピー代入
- (2) : ムーブ代入
- (3) : 初期化子リストの代入
効果
- (1) : 同じテンプレートパラメータを持つ
set
クラスのオブジェクトをコピー代入する。*this
の全ての要素が解放され、x
の全ての要素が*this
にコピーされる。 - (2) : 同じテンプレートパラメータを持つ
set
クラスのオブジェクトをムーブ代入する。*this
の全ての要素が解放され、x
の全ての要素が*this
にムーブされる。 - (3) : 同じテンプレートパラメータを持つ
initializer_list
クラスのオブジェクトをコピー代入する。*this
の全ての要素が解放され、init
の全ての要素が*this
にコピーされる。
戻り値
*this
事後条件
- (1) :
*this == x
- (2) :
*this
は元々のx
と等値となる - (3) :
*this == set{init}
計算量
- (1) : 全要素のデストラクタ呼び出しとコピーを行うために、線形時間
- (2) : 全要素のデストラクタ呼び出しをするために、線形時間
- (3) : 全要素のデストラクタ呼び出しとコピーを行うために、線形時間
例
出力
Size of c1: 0
Size of c2: 6
関連項目
名前 | 説明 |
---|---|
insert |
要素を挿入する |
set |
コンストラクタ |