std::atomic_init
| Definiert in Header <atomic> |
||
| template< class T > void atomic_init |
(1) | (seit C++11) (veraltet in C++20) |
| template< class T > void atomic_init |
(2) | (seit C++11) (veraltet in C++20) |
Initialisiert das standardkonstruierte atomare Objekt obj mit dem Wert desired. Die Funktion ist nicht atomar: Gleichzeitiger Zugriff von einem anderen Thread, selbst durch eine atomare Operation, ist ein Datenrennen.
Wenn obj nicht standardkonstruiert war, oder wenn diese Funktion zweimal auf dasselbe obj angewendet wird, ist das Verhalten undefiniert.
Inhalt |
[bearbeiten] Parameter
| obj | - | Zeiger auf ein zu initialisierendes atomares Objekt |
| desired | - | Der Wert, mit dem das atomare Objekt initialisiert werden soll |
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Anmerkungen
Diese Funktion wird zur Kompatibilität mit C bereitgestellt. Wenn keine Kompatibilität erforderlich ist, kann std::atomic über seine Nicht-Standardkonstruktoren initialisiert werden.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[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 |
|---|---|---|---|
| P0558R1 | C++11 | exakter Typabgleich war erforderlich, weilT aus mehreren Argumenten abgeleitet wurde |
T wird nur abgeleitetvon obj |
[bearbeiten] Siehe auch
| (C++11)(veraltet in C++20) |
konstante Initialisierung einer atomaren Variable mit statischer Speicherdauer (Funktionsmakro) |
| konstruiert ein atomares Objekt (öffentliche Memberfunktion von std::atomic<T>) | |
| C-Dokumentation für atomic_init
| |