std::atomic_init
提供: cppreference.com
ヘッダ <atomic> で定義
|
||
template< class T > void atomic_init( std::atomic<T>* obj, |
(C++11以上) | |
template< class T > void atomic_init( volatile std::atomic<T>* obj, |
(C++11以上) | |
デフォルト構築されたアトミックオブジェクト obj
を値 desired
で初期化します。 この関数はアトミックではありません。 別スレッドからの並行アクセスは、それがアトミック操作であっても、データ競合になります。
obj
がデフォ���ト構築されていない場合、動作は未定義です。
同じ obj
に対してこの関数が2回呼ばれた場合、動作は未定義です。
目次 |
[編集] 引数
obj | - | 初期化するアトミックオブジェクトを指すポインタ |
desired | - | アトミックオブジェクトを初期化するための値 |
[編集] 戻り値
(なし)
[編集] ノート
この関数は C との互換性のために提供されています。 互換性が必要なければ、非デフォルトコンストラクタを通して std::atomic を初期化することができます。
[編集] 例
This section is incomplete Reason: no example |
[編集] 欠陥報告
以下の動作変更欠陥報告は以前に発行された C++ 標準に遡って適用されました。
DR | 適用先 | 発行時の動作 | 正しい動作 |
---|---|---|---|
P0558R1 | C++11 | exact type match required because T is deduced from multiple arguments
|
T is deduced from the atomic argument only
|
[編集] 関連項目
(C++11)(C++20で非推奨) |
静的記憶域期間のアトミック変数の定数初期化 (関数マクロ) |
アトミックオブジェクトを構築します ( std::atomic<T> のパブリックメンバ関数)
| |
atomic_init の C言語リファレンス
|