File tree Expand file tree Collapse file tree 4 files changed +8
-11
lines changed Expand file tree Collapse file tree 4 files changed +8
-11
lines changed Original file line number Diff line number Diff line change @@ -324,7 +324,6 @@ C++20とは、2020年中に改訂され、ISO/IEC 14882:2020で標準規格化
324324- [ ` std::atomic ` ] ( /reference/atomic/atomic.md ) クラスと[ ` std::atomic_flag ` ] ( /reference/atomic/atomic_flag.md ) クラスのデフォルトコンストラクタが値初期化するようになったため、不要になった以下のアトミックオブジェクトの初期化機能を非推奨化:
325325 - [ ` std::atomic_init() ` ] ( /reference/atomic/atomic_init.md ) 関数
326326 - [ ` ATOMIC_VAR_INIT ` ] ( /reference/atomic/atomic_var_init.md ) マクロ
327- - [ ` ATOMIC_FLAG_INIT ` ] ( /reference/atomic/atomic_flag_init.md ) マクロ
328327- [ ` std::shared_ptr ` ] ( /reference/memory/shared_ptr.md ) の[ ` std::atomic ` 特殊化] ( /reference/memory/atomic.md ) 追加にともない、[ ` std::shared_ptr ` ] ( /reference/memory/shared_ptr.md ) に対する以下のアトミック操作を非推奨化:
329328 - [ ` std::atomic_is_lock_free ` ] ( /reference/memory/shared_ptr/atomic_is_lock_free.md )
330329 - [ ` std::atomic_load ` ] ( /reference/memory/shared_ptr/atomic_load.md )
Original file line number Diff line number Diff line change 113113| [ ` atomic_flag_wait_explicit ` ] ( atomic/atomic_flag_wait_explicit.md ) | メモリオーダーを指定して起床されるまで待機する (function) | C++20 |
114114| [ ` atomic_flag_notify_one ` ] ( atomic/atomic_flag_notify_one.md ) | 待機しているスレッドをひとつ起床させる (function) | C++20 |
115115| [ ` atomic_flag_notify_all ` ] ( atomic/atomic_flag_notify_all.md ) | 待機している全てのスレッドを起床させる (function) | C++20 |
116- | [ ` ATOMIC_FLAG_INIT ` ] ( atomic/atomic_flag_init.md ) | フラグ変数の初期化(define) | C++11< br />C++20から非推奨 |
116+ | [ ` ATOMIC_FLAG_INIT ` ] ( atomic/atomic_flag_init.md ) | フラグ変数の初期化(define) | C++11 |
117117
118118
119119## フェンス
Original file line number Diff line number Diff line change @@ -13,14 +13,14 @@ atomic_flag(const atomic_flag&) = delete; // (2) C++11
1313atomic_flag(atomic_flag&&) = delete; // (3) C++11
1414
1515atomic_flag(FOR_ATOMIC_FLAG_INIT); // (4) C++11
16- // (4) C++20で非推奨
1716```
17+ * FOR_ATOMIC_FLAG_INIT[italic]
1818
1919## 概要
2020- (1) : デフォルトコンストラクタ
2121- (2) : コピーコンストラクタ。コピー禁止
2222- (3) : ムーブコンストラクタ。ムーブ禁止
23- - (4) : `ATOMIC_FLAG_INIT`マクロのための特別なコンストラクタ 。フラグをクリアする。`atomic_flag`クラスのデフォルトコンストラクタはデフォルト定義されるため、デフォルト構築では未初期化状態となる 。
23+ - (4) : [ `ATOMIC_FLAG_INIT`](../atomic_flag_init.md)マクロでコピー初期化を行うための特別なコンストラクタ 。フラグをクリアする。
2424
2525
2626## 効果
@@ -29,7 +29,7 @@ atomic_flag(FOR_ATOMIC_FLAG_INIT); // (4) C++11
2929 - C++14 : フラグを未規定の状態にする
3030 - C++20 : フラグをクリア状態にする
3131- (4) :
32- - `ATOMIC_FLAG_INIT`マクロを使用することで、フラグがクリアされた状態となる
32+ - コピー初期化形式で[ `ATOMIC_FLAG_INIT`](../atomic_flag_init.md) マクロを使用することで、フラグがクリアされた状態となる
3333 - C++11 : このマクロを、静的な有効期間を持つ`atomic_flag`オブジェクトに使用した場合、その初期化は静的に行われる
3434 - C++14 : このマクロを、完全に静的な有効期間を持つ`atomic_flag`オブジェクトに使用した場合、その初期化は静的に行われる
3535
@@ -65,3 +65,4 @@ int main()
6565## 参照
6666- [ LWG Issue 2159. ` atomic_flag ` initialization] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2159 )
6767- [ P0883R2 Fixing Atomic Initialization, Rev2] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf )
68+ - [ LWG Issue 3659. Consider ` ATOMIC_FLAG_INIT ` undeprecation] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3659 )
Original file line number Diff line number Diff line change 22* atomic[ meta header]
33* macro[ meta id-type]
44* cpp11[ meta cpp]
5- * cpp20deprecated[ meta cpp]
65
76``` cpp
87#define ATOMIC_FLAG_INIT see below
98```
109
11- この機能はC++20で非推奨となった。[`std::atomic_flag`](atomic_flag.md)クラスのデフォルトコンストラクタが値初期化するようになったため、初期化のためにこの機能を使用する必要はない。
12-
13-
1410## 概要
15- フラグを初期化する 。
11+ フラグをクリア状態に初期化する 。
1612
1713このマクロは、[`atomic_flag`](atomic_flag.md)オブジェクトの初期化に使用し、フラグをクリア状態にする。静的オブジェクトに対しては、その初期化は静的に行われなければならない。
1814
1915
20- ## 非推奨の詳細 (C++20)
16+ ## 備考
2117C言語との互換性のために、`std::atomic_flag`クラスのデフォルトコンストラクタはトリビアルに定義され、初期値は未規定となっていた。そのためこの機能を介して`std::atomic_flag`オブジェクトを初期化する必要があったが、C++20からデフォルトコンストラクタが値初期化を行うようになったため、初期化のためにこの機能を使用する必要はなくなった。
2218
2319
5955
6056## 参照
6157- [P0883R2 Fixing Atomic Initialization, Rev2](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf)
58+ - [LWG Issue 3659. Consider `ATOMIC_FLAG_INIT` undeprecation](http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3659)
You can’t perform that action at this time.
0 commit comments