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 |
コンストラクタ |