std::atomic_ref<T>:: exchange
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
value_type exchange
(
value_type desired,
std::
memory_order
order
=
|
(constexpr seit C++26) | |
Ersetzt atomar den Wert des referenzierten Objekts mit desired . Der Vorgang ist ein Lese-Modifizier-Schreib-Vorgang. Der Speicher wird gemäß dem Wert von order beeinflusst.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_const_v < T > false ist.
Parameter
| gewünscht | - | zuzuweisender Wert |
| Reihenfolge | - | durchzusetzende Speicherreihenfolge-Beschränkungen |
Rückgabewert
Der Wert des referenzierten Objekts vor dem Aufruf.
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
|
LWG 3508
( P3323R1 ) |
C++20 |
exchange
war bedeutungslos für
const
T
|
eingeschränkt auf nur non-const
T
|