std::pair::operator=

来自cppreference.com
< cpp‎ | utility‎ | pair
pair& operator=( const pair& other );
(1)
template< class U1, class U2 >
pair& operator=( const pair<U1,U2>& other );
(2)
pair& operator=( pair&& other );
(3) (C++11 起)
template< class U1, class U2 >
pair& operator=( pair<U1,U2>&& other );
(4) (C++11 起)

替换当前 pair 的内容。

1) 复制赋值操作符。用 other 内容的副本替换当前内容。

2) 使用 other.first 替换 firstother.second 替换 second

3) 移动赋值操作符。通过移动语义使用 other 来替换当前内容。

4) 把 std::forward<U1>(p.first) 赋值给 first,并把 std::forward<U2>(p.second) 赋值给 second.


目录

[编辑] 参数

other - 用来替换当前 pair 内容的一对值

[编辑] 返回值

*this

[编辑] 异常

1-2) (无)

3)
noexcept规定:  (C++11 起)
noexcept(noexcept(

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

))

4) (无)

[编辑] 示例

[编辑] 另请参阅