名前空間
変種
操作

std::atomic_store, std::atomic_store_explicit

提供: cppreference.com
< cpp‎ | atomic
 
 
 
ヘッダ <atomic> で定義
(1) (C++11およびそれ以降)
template< class T >

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

                   typename std::atomic<T>::value_type desr ) noexcept;
template< class T >

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

                   typename std::atomic<T>::value_type desr ) noexcept;
(2) (C++11およびそれ以降)
template< class T >

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

                            std::memory_order order) noexcept;
template< class T >

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

                            std::memory_order order) noexcept;
1) obj->store(desr) によって行われたかのように、 obj の指す値を desr の値でアトミックに置き換えます。
2) obj->store(desr, order) によって行われたかのように、 obj の指す値を desr の値でアトミックに置き換えます。

目次

[編集] 引数

obj - 変更するアトミックオブジェクトを指すポインタ
desr - アトミックオブジェクトに格納する値
order - この操作に対するメモリ同期順序付け。 std::memory_order_relaxed, std::memory_order_release, std::memory_order_seq_cst のみが指定できます。

[編集] 戻り値

(なし)

[編集] 欠陥報告

以下の動作変更欠陥報告は以前に発行された C++ 標準に遡って適用されました。

DR 適用先 発行時の動作 正しい動作
P0558R1 C++11 exact type match required because T is deduced from multiple arguments T is deduced from the atomic argument only

[編集] 関連項目

アトミックオブジェクトの値を非アトミック引数でアトミックに置き換えます
(std::atomicのパブリックメンバ関数) [edit]
アトミックオブジェクトに格納されている値をアトミックに取得します
(関数テンプレート) [edit]
指定されたアトミック操作のメモリ順序制約を定義します
(列挙) [edit]
std::shared_ptr に対するアトミック操作の特殊化
(関数テンプレート)
atomic_store, atomic_store_explicitC言語リファレンス