std::any::operator=
提供: cppreference.com
<tbody>
</tbody>
any& operator=( const any& rhs ); |
(1) | (C++17以上) |
any& operator=( any&& rhs ) noexcept; |
(2) | (C++17以上) |
template<typename ValueType> any& operator=( ValueType&& rhs ); |
(3) | (C++17以上) |
内容を格納されている値に代入します。
1)
any(rhs).swap(*this) によって行われたかのように、 rhs の状態をコピーすることによって代入します。2)
any(std::move(rhs)).swap(*this) によって行われたかのように、 rhs の状態をムーブすることによって代入します。 代入後、 rhs は有効だけれども未規定な状態になります。3)
any(std::forward<ValueType>(rhs)).swap(*this) によって行われたかのように、 rhs の型と値を代入します。 このオーバーロードは、std::decay_t<ValueType> が any と同じ型でなく、 std::is_copy_constructible_v<std::decay_t<ValueType>> が trueである場合にのみ、オーバーロード解決に参加します。テンプレート引数
| ValueType | - | 格納される値の型 |
| 型の要件 | ||
-std::decay_t<ValueType> は CopyConstructible の要件を満たさなければなりません。
| ||
引数
| rhs | - | 格納されている値を代入するオブジェクト |
戻り値
*this。
例外
1,3) bad_alloc または格納される型のコンストラクタによって投げられるあらゆる例外を投げます。 例外が投げられた場合、効果はありません (強い例外保証)。
関連項目
any オブジェクトを構築します (パブリックメンバ関数) |