名前空間
変種
操作

std::atomic_store, std::atomic_store_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_storeatomic_store_explicit
(C++11)(C++11)
アトミックフラグのためのフリー関数
 
ヘッダー <atomic> で定義
template< class T >

void atomic_store( std::atomic<T>* obj,

                   typename std::atomic<T>::value_type desired ) noexcept;
(1) (C++11以降)
template< class T >

void atomic_store( volatile std::atomic<T>* obj,

                   typename std::atomic<T>::value_type desired ) noexcept;
(2) (C++11以降)
template< class T >

void atomic_store_explicit( std::atomic<T>* obj,
                            typename std::atomic<T>::value_type desired,

                            std::memory_order order) noexcept;
(3) (C++11以降)
template< class T >

void atomic_store_explicit( volatile std::atomic<T>* obj,
                            typename std::atomic<T>::value_type desired,

                            std::memory_order order) noexcept;
(4) (C++11以降)
1,2) obj が指す値を desired の値でアトミックに置き換えます。あたかも obj->store(desired) のように動作します。
3,4) obj が指す値を desired の値でアトミックに置き換えます。あたかも obj->store(desired, order) のように動作します。
order が std::memory_order_consume、std::memory_order_acquire、std::memory_order_acq_rel のいずれかである場合、動作は未定義です。

目次

[編集] Parameters

obj - 操作対象のアトミックオブジェクトへのポインタ
desired - アトミックオブジェクトに格納する値
order - メモリ同期順序

[編集] Return value

(なし)

[編集] Defect reports

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
P0558R1 C++11 厳密な型一致が必要であったため
Tは複数の引数から推論された
Tは推論されるのみ
obj から

[編集] See also

アトミックオブジェクトの値を非アトミックな引数でアトミックに置き換える
(std::atomic<T> の public member function) [編集]
アトミックオブジェクトに格納されている値をアトミックに取得する
(関数テンプレート) [編集]
与えられたアトミック操作に対するメモリ順序制約を定義する
(enum) [編集]
std::shared_ptr のアトミック操作の特殊化
(関数テンプレート)
C documentation for atomic_store, atomic_store_explicit
English 日本語 中文(简体) 中文(繁體)