std::atomic_init
From cppreference.com
| ヘッダー <atomic> で定義 |
||
| template< class T > void atomic_init |
(1) | (C++11以降) (C++20で非推奨) |
| template< class T > void atomic_init |
(2) | (C++11以降) (C++20で非推奨) |
obj でデフォルト構築されたアトミックオブジェクトを、値 desired で初期化します。この関数はアトミックではありません。別のスレッドからの同時アクセス(アトミック操作によるものを含む)はデータ競合です。
obj がデフォルト構築されていなかった場合、または同じ obj に対してこの関数が二度呼び出された場合、動作は未定義です。
目次 |
[編集] パラメータ
| obj | - | 初期化するアトミックオブジェクトへのポインタ |
| desired | - | アトミックオブジェクトを初期化する値 |
[編集] 戻り値
(なし)
[編集] 注釈
この関数は C との互換性のために提供されています。互換性が必要ない場合は、std::atomic はデフォルト以外のコンストラクタを通じて初期化できます。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| P0558R1 | C++11 | 厳密な型一致が必要であったためTは複数の引数から推論された |
Tは推論されるのみobj から |
[編集] 関連項目
| (C++11)(C++20で非推奨) |
静的記憶域期間を持つアトミック変数の定数初期化 (関数マクロ) |
| アトミックオブジェクトを構築する ( std::atomic<T> の public member function) | |
| C のドキュメント atomic_init
| |