std::atomic_load, std::atomic_load_explicit
Определено в заголовочном файле <atomic> | ||
|---|---|---|
template< class T > T atomic_load( const std::atomic<T>* obj ) noexcept; | (1) | (начиная с C++11) |
template< class T > T atomic_load( const volatile std::atomic<T>* obj ) noexcept; | (2) | (начиная с C++11) |
template< class T >
T atomic_load_explicit( const std::atomic<T>* obj,
std::memory_order order ) noexcept;
| (3) | (начиная с C++11) |
template< class T >
T atomic_load_explicit( const volatile std::atomic<T>* obj,
std::memory_order order ) noexcept;
| (4) | (начиная с C++11) |
1,2) Атомарно получает значение, на которое указывает
obj, как если бы была вызвана obj->load().
3,4) Атомарно получает значение, на которое указывает
obj, как если бы была вызвана obj->load(order).
Если order равен одному из значений
std::memory_order_release или std::memory_order_acq_rel, поведение не определено.Параметры
| obj | - | указатель на изменяемый атомарный объект |
| order | - | порядок синхронизации памяти для этой операции |
Возвращаемое значение
Значение, хранящееся в атомарном объекте, на который указывает obj.
См. также
| атомарно получает значение атомарного объекта (открытая функция-член std::atomic<T>) |
|
|
(C++11)(C++11) | атомарно заменяет значение атомарного объекта неатомарным аргументом (шаблон функции) |
|
(C++11) | задаёт ограничения на порядок операций с памятью для указанной атомарной операции (перечисление) |
|
(устарело в C++20)(удалено в C++26) | специализирует атомарные операции для std::shared_ptr (шаблон функции) |
Документация по C для atomic_load, atomic_load_explicit |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_load