Namespaces
Variants

std:: atomic_init

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
atomic_init
(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
Definiert im Header <atomic>
template < class T >

void atomic_init
( std:: atomic < T > * obj,

typename std:: atomic < T > :: value_type desired ) noexcept ;
(1) (seit C++11)
(veraltet in C++20)
template < class T >

void atomic_init
( volatile std:: atomic < T > * obj,

typename std:: atomic < T > :: value_type desired ) noexcept ;
(2) (seit C++11)
(veraltet in C++20)

Initialisiert das standardmäßig konstruierte atomare Objekt obj mit dem Wert desired . Die Funktion ist nicht atomar: gleichzeitiger Zugriff von einem anderen Thread, selbst durch eine atomare Operation, stellt einen Datenwettlauf dar.

Wenn obj nicht standardmäßig konstruiert wurde oder diese Funktion zweimal auf demselben obj aufgerufen wird, ist das Verhalten undefiniert.

Inhaltsverzeichnis

Parameter

obj - Zeiger auf ein atomares Objekt zur Initialisierung
desired - der Wert, mit dem das atomare Objekt initialisiert wird

Rückgabewert

(keine)

Hinweise

Diese Funktion wird aus Kompatibilitätsgründen mit C bereitgestellt. Falls die Kompatibilität nicht erforderlich ist, std::atomic kann über deren nicht-standard Konstruktoren initialisiert werden.

Beispiel

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
P0558R1 C++11 Exakte Typübereinstimmung war erforderlich, weil
T von mehreren Argumenten abgeleitet wurde
T wird nur
von obj abgeleitet

Siehe auch

(C++11) (veraltet in C++20)
Konstanteninitialisierung einer atomaren Variable mit statischer Speicherdauer
(Funktionsmakro)
Konstruiert ein atomares Objekt
(öffentliche Memberfunktion von std::atomic<T> )
C-Dokumentation für atomic_init