std::atomic_ref<T>:: operator&=,|=,^=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(C++26)
|
||||
|
Operations for arithmetic types
(except
bool
and pointer-to-object)
|
||||
|
Operations for integral types
(except
bool
and pointer-to-object)
|
||||
|
(C++26)
|
||||
|
(C++26)
|
||||
|
Operations for integral types
(except
bool
)
|
||||
|
atomic_ref::operator&=
atomic_ref::operator|=
atomic_ref::operator^=
|
||||
| Constants | ||||
|
Nur bereitgestellt, wenn
T
ein integraler Typ außer
cv
bool
ist
|
||
|
value_type operator
&
=
(
value_type arg
)
const
noexcept
;
|
(1) | (seit C++20) |
|
value_type operator
|
=
(
value_type arg
)
const
noexcept
;
|
(2) | (seit C++20) |
|
value_type operator
^
=
(
value_type arg
)
const
noexcept
;
|
(3) | (seit C++20) |
Ersetzt atomar den aktuellen Wert des referenzierten Objekts mit dem Ergebnis einer Berechnung unter Einbeziehung des vorherigen Werts und arg . Diese Operationen sind Read-Modify-Write-Operationen.
- operator & = führt atomares bitweises UND aus. Entspricht return fetch_and ( arg ) & arg ; .
- operator ! = führt atomares bitweises ODER aus. Entspricht return fetch_or ( arg ) | arg ; .
- operator ^ = führt atomares bitweises XOR aus. Entspricht return fetch_xor ( arg ) ^ arg ; .
Diese Überladungen nehmen nur dann an der Überladungsauflösung teil, wenn std:: is_const_v < T > false ist.
Inhaltsverzeichnis |
Parameter
| arg | - | das Argument für die arithmetische Operation |
Rückgabewert
Der resultierende Wert (das heißt, das Ergebnis der Anwendung des entsprechenden binären Operators auf den Wert unmittelbar vor den Effekten der entsprechenden Memberfunktion).
Hinweise
Im Gegensatz zu den meisten zusammengesetzten Zuweisungsoperatoren geben die zusammengesetzten Zuweisungsoperatoren für
atomic_ref
keine Referenz auf ihre linken Argumente zurück. Sie geben stattdessen eine Kopie des gespeicherten Werts zurück.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
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 | zusammengesetzte Zuweisungsoperatoren waren bedeutungslos für const T |
eingeschränkt, um nur non-const
T
zu akzeptieren
|
Siehe auch
|
führt atomar eine bitweise UND-Operation zwischen dem Argument und dem Wert des referenzierten Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion) |
|
|
führt atomar eine bitweise ODER-Operation zwischen dem Argument und dem Wert des referenzierten Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion) |
|
|
führt atomar eine bitweise XOR-Operation zwischen dem Argument und dem Wert des referenzierten Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion) |
|
|
erhöht oder verringert atomar das referenzierte Objekt um eins
(öffentliche Elementfunktion) |
|
|
addiert oder subtrahiert atomar vom referenzierten Wert
(öffentliche Elementfunktion) |