std::atomic_ref<T>::exchange
Von cppreference.com
< cpp | atomic | atomic ref
value_type exchange( value_type desired, std::memory_order order = |
(constexpr seit C++26) | |
Atomar ersetzt den Wert des referenzierten Objekts durch desired. Die Operation ist eine Lese-Modifizierungs-Schreib-Operation. Der Speicher wird gemäß dem Wert von order beeinflusst.
Dieser Überladungsfall nimmt nur an der Überladungsauflösung teil, wenn std::is_const_v<T> false ist.
[bearbeiten] Parameter
| desired | - | zuweisender Wert |
| Reihenfolge | - | Speicherreihenfolgebeschränkungen, die durchgesetzt werden sollen |
[bearbeiten] Rückgabewert
Der Wert des referenzierten Objekts vor dem Aufruf.
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3508 (P3323R1) |
C++20 | exchange war bedeutungslos für const T |
constrained to accept only non-const T |