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).
Если порядок задаётся одним из
std::memory_order_release и std::memory_order_acq_rel, поведение не определено.Параметры
| obj | - | указатель на атомный объект для изменения |
| order | - | порядок синхронизации памяти для данной операции |
Возвращаемое значение
Значение, которое хранится в атомном объекте, на который указывает obj.
См. также
| атомарно получает значение атомного объекта (публичный член-функция std::atomic<T>) |
|
|
(C++11)(C++11) | атомарно заменяет значение атомного объекта на неатомное аргумент (шаблон функции) |
|
(C++11) | определяет ограничения порядка памяти для заданной атомной операции (перечисление) |
|
(устарело в C++20) | специализирует атомные операции для 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/w/cpp/atomic/atomic_load