名前空間
変種
操作

std::pair::operator=

提供: cppreference.com
< cpp‎ | utility‎ | pair
 
 
 
std::pair
メンバ関数
pair::operator=
非メンバ関数
(C++11)
推定ガイド(C++17)
ヘルパークラス
(C++11)
 
pair& operator=( const pair& other );
(1)
template< class U1, class U2 >
pair& operator=( const pair<U1,U2>& other );
(2)
pair& operator=( pair&& other ) noexcept(/* see below */);
(3) (C++11およびそれ以降)
template< class U1, class U2 >
pair& operator=( pair<U1,U2>&& other );
(4) (C++11およびそれ以降)

ペアの内容を置き換えます。

1) コピー代入演算子。 内容を別のペアの内容のコピーで置き換えます。
2) other.firstfirst に、 other.secondsecond に代入します。
3) ムーブ代入演算子。 内容をムーブセマンティクスを用いて other の内容で置き換えます。
4) std::forward<U1>(p.first)first に、 std::forward<U2>(p.second)second に代入します。

以下の条件を満たさない場合、これらの関数の動作は未定義です。

(C++17以前)

これらの関数は、要求される代入演算子が無効な場合、オーバーロード解決に参加しません (または、コピー代入演算子の場合、削除されたものとして定義されます)。 特に、

(C++17およびそれ以降)

目次

[編集] 引数

other - このペアの内容を置き換える値のペア

[編集] 戻り値

*this

[編集] 例外

1-2) (なし)
3)
noexcept 指定:  
noexcept(

    is_nothrow_move_assignable<T1>::value &&
    is_nothrow_move_assignable<T2>::value

)
4) (なし)

[編集]

[編集] 関連項目