名前空間
変種
操作

std::atomic_load, std::atomic_load_explicit

From cppreference.com
< cpp‎ | atomic
 
 
並行性サポートライブラリ
スレッド
(C++11)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
協調的なキャンセル
排他制御
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
atomic_loadatomic_load_explicit
(C++11)(C++11)
アトミックフラグのためのフリー関数
 
ヘッダー <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> の public メンバ関数) [編集]
アトミックオブジェクトの値を非アトミックな引数でアトミックに置き換える
(関数テンプレート) [編集]
与えられたアトミック操作に対するメモリ順序制約を定義する
(enum) [編集]
std::shared_ptr のアトミック操作の特殊化
(関数テンプレート)
C ドキュメントatomic_load, atomic_load_explicit 用)
English 日本語 中文(简体) 中文(繁體)