std::atomic_store, std::atomic_store_explicit
Von cppreference.com
| Definiert in Header <atomic> |
||
| template< class T > void atomic_store( std::atomic<T>* obj, |
(1) | (seit C++11) |
| template< class T > void atomic_store( volatile std::atomic<T>* obj, |
(2) | (seit C++11) |
| template< class T > void atomic_store_explicit( std::atomic<T>* obj, |
(3) | (seit C++11) |
| template< class T > void atomic_store_explicit( volatile std::atomic<T>* obj, |
(4) | (seit C++11) |
1,2) Ersetzt atomar den Wert, auf den obj zeigt, durch den Wert von desired, als ob durch obj->store(desired).
3,4) Ersetzt atomar den Wert, auf den obj zeigt, durch den Wert von desired, als ob durch obj->store(desired, order).
Wenn order einer der Werte std::memory_order_consume, std::memory_order_acquire und std::memory_order_acq_rel ist, ist das Verhalten undefiniert.
Inhalt |
[bearbeiten] Parameter
| obj | - | Zeiger auf das zu modifizierende atomare Objekt |
| desired | - | Der zu speichernde Wert im atomaren Objekt |
| Reihenfolge | - | die Speicher-Synchronisationsreihenfolge |
[bearbeiten] Rückgabewert
(keine)
[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
| ersetzt atomar den Wert des atomaren Objekts durch ein nicht-atomares Argument (öffentliche Memberfunktion von std::atomic<T>) | |
| (C++11)(C++11) |
liest atomar den Wert aus einem atomaren Objekt (Funktions-Template) |
| (C++11) |
definiert Speicherordnungseinschränkungen für die gegebene atomare Operation (Enum) |
| (in C++20 veraltet)(in C++26 entfernt) |
spezialisiert atomare Operationen für std::shared_ptr (function template) |
| C-Dokumentation für atomic_store, atomic_store_explicit
| |