std::atomic_init
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <atomic> で定義
|
||
template< class T > void atomic_init( std::atomic<T>* obj, typename std::atomic<T>::value_type desired ) noexcept; |
(C++11以上) | |
template< class T > void atomic_init( volatile std::atomic<T>* obj, typename std::atomic<T>::value_type desired ) noexcept; |
(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言語リファレンス
|