std::atomic_load, std::atomic_load_explicit
Von cppreference.com
| Definiert in Header <atomic> |
||
| template< class T > T atomic_load( const std::atomic<T>* obj ) noexcept; |
(1) | (seit C++11) |
| template< class T > T atomic_load( const volatile std::atomic<T>* obj ) noexcept; |
(2) | (seit C++11) |
| template< class T > T atomic_load_explicit( const std::atomic<T>* obj, |
(3) | (seit C++11) |
| template< class T > T atomic_load_explicit( const volatile std::atomic<T>* obj, |
(4) | (seit C++11) |
1,2) Atomarer Zugriff auf den Wert, auf den obj zeigt, als ob obj->load() aufgerufen würde.
3,4) Atomarer Zugriff auf den Wert, auf den obj zeigt, als ob obj->load(order) aufgerufen würde.
Wenn order einer der Werte std::memory_order_release oder std::memory_order_acq_rel ist, ist das Verhalten undefiniert.
[bearbeiten] Parameter
| obj | - | Zeiger auf das zu modifizierende atomare Objekt |
| Reihenfolge | - | die Speicherordnungssynchronisation für diese Operation |
[bearbeiten] Rückgabewert
Der Wert, der vom atomaren Objekt gehalten wird, auf das obj zeigt.
[bearbeiten] Siehe auch
| erhält atomar den Wert des atomaren Objekts (öffentliche Memberfunktion von std::atomic<T>) | |
| (C++11)(C++11) |
ersetzt atomar den Wert des atomaren Objekts durch ein nicht-atomares Argument (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_load, atomic_load_explicit
| |