std::atomic_ref<T>::operator=
From cppreference.com
< cpp | atomic | atomic ref
value_type operator=( value_type desired ) const noexcept; |
(1) | (C++26 以降 constexpr) |
| atomic_ref& operator=( const atomic_ref& ) = delete; |
(2) | |
1) store(desired); return desired; と同等です。このオーバーロードは、 std::is_const_v<T> が false の場合にのみ、オーバーロード解決に参加します。
目次 |
[編集] パラメータ
| desired | - | 代入する値 |
[編集] 戻り値
上記の通り。
[編集] 注記
ほとんどの代入演算子とは異なり、 atomic_ref の代入演算子は左辺値の参照を返しません。代わりに、格納されている値のコピーを返します。
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 3508 (P3323R1) |
C++20 | assignment operator was meaningless for const T | 非 const T のみを受け入れるように制約されました。 |
[編集] 関連項目
atomic_ref オブジェクトを構築します(public member function) | |
| 参照されているオブジェクトの値を、非アトミックな引数でアトミックに置き換えます (public member function) |