Namespaces
Variants

std::atomic<T>:: operator&=,|=,^=

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
Nur Mitglied von atomic< Integral  > Spezialisierungen
T operator & = ( T arg ) noexcept ;
(1) (seit C++11)
T operator & = ( T arg ) volatile noexcept ;
(2) (seit C++11)
T operator | = ( T arg ) noexcept ;
(3) (seit C++11)
T operator | = ( T arg ) volatile noexcept ;
(4) (seit C++11)
T operator ^ = ( T arg ) noexcept ;
(5) (seit C++11)
T operator ^ = ( T arg ) volatile noexcept ;
(6) (seit C++11)

Ersetzt atomar den aktuellen Wert mit dem Ergebnis einer Berechnung unter Einbeziehung des vorherigen Wertes und arg . Der Vorgang ist ein Lese-Modifizier-Schreibe-Vorgang.

  • 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 exklusives ODER aus. Entspricht return fetch_xor ( arg ) ^ arg ; .

Es ist veraltet, wenn std:: atomic < T > :: is_always_lock_free false ist und irgendeine volatile Überladung an der Überladungsauflösung teilnimmt.

(since C++20)

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 in der modification order von * this ).

Hinweise

Im Gegensatz zu den meisten zusammengesetzten Zuweisungsoperatoren geben die zusammengesetzten Zuweisungsoperatoren für atomare Typen keine Referenz auf ihre linken Argumente zurück. Stattdessen geben sie eine Kopie des gespeicherten Werts zurück.

Siehe auch

führt atomar eine bitweise UND-Operation zwischen dem Argument und dem Wert des atomaren 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 atomaren Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion)
führt atomar eine bitweise EXKLUSIV-ODER-Operation zwischen dem Argument und dem Wert des atomaren Objekts durch und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion)
erhöht oder verringert den atomaren Wert um eins
(öffentliche Elementfunktion)
addiert zum oder subtrahiert vom atomaren Wert
(öffentliche Elementfunktion)