Skip to content

Commit 51142af

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent d16a921 commit 51142af

File tree

8 files changed

+2291
-353
lines changed

8 files changed

+2291
-353
lines changed

lang/cpp20.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2025-06-25T13:48:21">
180-
2025年06月25日 13時48分21秒
179+
<span itemprop="datePublished" content="2025-07-25T10:26:24">
180+
2025年07月25日 10時26分24秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
184-
<span itemprop="name">suomesta</span>
184+
<span itemprop="name">yoh</span>
185185
</span>
186186
が更新
187187
</small></p>
@@ -817,7 +817,6 @@ <h3>機能の非推奨化</h3>
817817
<li><code><a href="../reference/atomic/atomic.html">std::atomic</a></code>クラスと<code><a href="../reference/atomic/atomic_flag.html">std::atomic_flag</a></code>クラスのデフォルトコンストラクタが<a class="cpprefjp-defined-word" data-desc="`T x{};`構文での初期化。組み込み型の場合はゼロ相当の値で、クラス型の場合はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的に値初期化される">値初期化</a>するようになったため、不要になった以下のアトミックオブジェクトの初期化機能を非推奨化:<ul>
818818
<li><code><a href="../reference/atomic/atomic_init.html">std::atomic_init()</a></code>関数</li>
819819
<li><code><a href="../reference/atomic/atomic_var_init.html">ATOMIC_VAR_INIT</a></code>マクロ</li>
820-
<li><code><a href="../reference/atomic/atomic_flag_init.html">ATOMIC_FLAG_INIT</a></code>マクロ</li>
821820
</ul>
822821
</li>
823822
<li><code><a href="../reference/memory/shared_ptr.html">std::shared_ptr</a></code><a href="../reference/memory/atomic.html"><code>std::atomic</code>特殊化</a>追加にともない、<code><a href="../reference/memory/shared_ptr.html">std::shared_ptr</a></code>に対する以下のアトミック操作を非推奨化:<ul>

reference/atomic.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2025-07-11T17:16:44">
180-
2025年07月11日 17時16分44秒
179+
<span itemprop="datePublished" content="2025-07-25T10:26:24">
180+
2025年07月25日 10時26分24秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
184-
<span itemprop="name">Koichi Murase</span>
184+
<span itemprop="name">yoh</span>
185185
</span>
186186
が更新
187187
</small></p>
@@ -588,7 +588,7 @@ <h2>フラグ型とその操作</h2>
588588
<tr>
589589
<td><code><a href="atomic/atomic_flag_init.html">ATOMIC_FLAG_INIT</a></code></td>
590590
<td>フラグ変数の初期化(define)</td>
591-
<td>C++11<br />C++20から非推奨</td>
591+
<td>C++11</td>
592592
</tr>
593593
</tbody>
594594
</table>

reference/atomic/atomic_flag/op_constructor.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
204-
2024年06月11日 13時45分38秒
203+
<span itemprop="datePublished" content="2025-07-25T10:26:24">
204+
2025年07月25日 10時26分24秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Akira Takahashi</span>
208+
<span itemprop="name">yoh</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -231,16 +231,15 @@
231231
<span class="n">atomic_flag</span><span class="p">(</span><span class="k">const</span> <span class="n">atomic_flag</span><span class="o">&amp;</span><span class="p">)</span> <span class="o">=</span> <span class="k">delete</span><span class="p">;</span> <span class="c1">// (2) C++11</span>
232232
<span class="n">atomic_flag</span><span class="p">(</span><span class="n">atomic_flag</span><span class="o">&amp;&amp;</span><span class="p">)</span> <span class="o">=</span> <span class="k">delete</span><span class="p">;</span> <span class="c1">// (3) C++11</span>
233233

234-
<span class="n">atomic_flag</span><span class="p">(</span><span class="n">FOR_ATOMIC_FLAG_INIT</span><span class="p">);</span> <span class="c1">// (4) C++11</span>
235-
<span class="c1">// (4) C++20で非推奨</span>
234+
<span class="n">atomic_flag</span><span class="p">(</span><span class="n"><i>FOR_ATOMIC_FLAG_INIT</i></span><span class="p">);</span> <span class="c1">// (4) C++11</span>
236235
</code></pre></div>
237236
</p>
238237
<h2>概要</h2>
239238
<ul>
240239
<li>(1) : デフォルトコンストラクタ</li>
241240
<li>(2) : コピーコンストラクタ。コピー禁止</li>
242241
<li>(3) : ムーブコンストラクタ。ムーブ禁止</li>
243-
<li>(4) : <code>ATOMIC_FLAG_INIT</code>マクロのための特別なコンストラクタ。フラグをクリアする。<code>atomic_flag</code>クラスのデフォルトコンストラクタはデフォルト定義されるため、<a class="cpprefjp-defined-word" data-desc="デフォルト初期化。`T x;`構文での初期化。トリビアルにデフォルト構築可能な型の場合は初期化されず(オブジェクトのlifetimeは開始される)、そうではないクラス型はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的にデフォルト初期化される">デフォルト構築</a>では未初期化状態となる</li>
242+
<li>(4) : <code><a href="../atomic_flag_init.html">ATOMIC_FLAG_INIT</a></code>マクロでコピー初期化を行うための特別なコンストラクタ。フラグをクリアする</li>
244243
</ul>
245244
<h2>効果</h2>
246245
<ul>
@@ -251,7 +250,7 @@ <h2>効果</h2>
251250
</ul>
252251
</li>
253252
<li>(4) :<ul>
254-
<li><code>ATOMIC_FLAG_INIT</code>マクロを使用することで、フラグがクリアされた状態となる</li>
253+
<li>コピー初期化形式で<code><a href="../atomic_flag_init.html">ATOMIC_FLAG_INIT</a></code>マクロを使用することで、フラグがクリアされた状態となる</li>
255254
<li>C++11 : このマクロを、静的な有効期間を持つ<code>atomic_flag</code>オブジェクトに使用した場合、その初期化は静的に行われる</li>
256255
<li>C++14 : このマクロを、完全に静的な有効期間を持つ<code>atomic_flag</code>オブジェクトに使用した場合、その初期化は静的に行われる</li>
257256
</ul>
@@ -288,6 +287,7 @@ <h2>参照</h2>
288287
<ul>
289288
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2159" target="_blank">LWG Issue 2159. <code>atomic_flag</code> initialization</a></li>
290289
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf" target="_blank">P0883R2 Fixing Atomic Initialization, Rev2</a></li>
290+
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3659" target="_blank">LWG Issue 3659. Consider <code>ATOMIC_FLAG_INIT</code> undeprecation</a></li>
291291
</ul></div>
292292

293293
</div>

reference/atomic/atomic_flag_init.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<meta property="og:url" content="https://cpprefjp.github.io/reference/atomic/atomic_flag_init.html" />
2929
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
3030
<meta property="og:type" content="article" />
31-
<meta property="og:description" content="フラグを初期化する" />
31+
<meta property="og:description" content="フラグをクリア状態に初期化する" />
3232
<meta name="twitter:card" content="summary" />
3333
<meta name="twitter:title" content="ATOMIC_FLAG_INIT - cpprefjp C++日本語リファレンス" />
3434
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/atomic/atomic_flag_init.html" />
35-
<meta name="twitter:description" content="フラグを初期化する" />
35+
<meta name="twitter:description" content="フラグをクリア状態に初期化する" />
3636

3737

3838
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;atomic&#34;], &#34;id-type&#34;: [&#34;macro&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;, &#34;cpp20deprecated&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;e72ff206572e923c5d0bd069dba01669a7ee071f&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;atomic&gt;\n\nint main()\n{\n std::atomic_flag x = ATOMIC_FLAG_INIT;\n\n // \u30d5\u30e9\u30b0\u3092\u7acb\u3066\u3001\u5909\u66f4\u524d\u306e\u5024\u3092\u78ba\u8a8d\u3059\u308b\n bool before = x.test_and_set();\n std::cout &lt;&lt; std::boolalpha &lt;&lt; before &lt;&lt; std::endl;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;atomic&#34;, &#34;atomic_flag_init&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;atomic&#34;], &#34;id-type&#34;: [&#34;macro&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;e72ff206572e923c5d0bd069dba01669a7ee071f&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;atomic&gt;\n\nint main()\n{\n std::atomic_flag x = ATOMIC_FLAG_INIT;\n\n // \u30d5\u30e9\u30b0\u3092\u7acb\u3066\u3001\u5909\u66f4\u524d\u306e\u5024\u3092\u78ba\u8a8d\u3059\u308b\n bool before = x.test_and_set();\n std::cout &lt;&lt; std::boolalpha &lt;&lt; before &lt;&lt; std::endl;\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;atomic&#34;, &#34;atomic_flag_init&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2025-07-16T13:00:01">
192-
2025年07月16日 13時00分01秒
191+
<span itemprop="datePublished" content="2025-07-25T10:26:24">
192+
2025年07月25日 10時26分24秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Koichi Murase</span>
196+
<span itemprop="name">yoh</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -212,15 +212,14 @@
212212
<div class="row">
213213
<div class="col-sm-12 content-body">
214214

215-
<div class="identifier-type">macro</div><div class="header">&lt;atomic&gt;</div><h1 itemprop="name"><span class="token">ATOMIC_FLAG_INIT</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span><span class="cpp cpp20deprecated text-warning" title="C++20で非推奨">(C++20で非推奨)</span></h1>
215+
<div class="identifier-type">macro</div><div class="header">&lt;atomic&gt;</div><h1 itemprop="name"><span class="token">ATOMIC_FLAG_INIT</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span></h1>
216216
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="cp">#define ATOMIC_FLAG_INIT <i>see below</i></span>
217217
</code></pre></div>
218218
</p>
219-
<p>この機能はC++20で非推奨となった。<code><a href="atomic_flag.html">std::atomic_flag</a></code>クラスのデフォルトコンストラクタが<a class="cpprefjp-defined-word" data-desc="`T x{};`構文での初期化。組み込み型の場合はゼロ相当の値で、クラス型の場合はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的に値初期化される">値初期化</a>するようになったため、初期化のためにこの機能を使用する必要はない。</p>
220219
<h2>概要</h2>
221-
<p>フラグを初期化する</p>
220+
<p>フラグをクリア状態に初期化する</p>
222221
<p>このマクロは、<code><a href="atomic_flag.html">atomic_flag</a></code>オブジェクトの初期化に使用し、フラグをクリア状態にする。静的オブジェクトに対しては、その初期化は静的に行われなければならない。</p>
223-
<h2>非推奨の詳細 (C++20)</h2>
222+
<h2>備考</h2>
224223
<p>C言語との互換性のために、<code>std::atomic_flag</code>クラスのデフォルトコンストラクタはトリビアルに定義され、初期値は<a class="cpprefjp-defined-word" data-desc="未規定の動作。事前の断りなく処理系によって異なる動作をする" href="../../implementation-compliance.html#dfn-unspecified-behavior">未規定</a>となっていた。そのためこの機能を介して<code>std::atomic_flag</code>オブジェクトを初期化する必要があったが、C++20からデフォルトコンストラクタが<a class="cpprefjp-defined-word" data-desc="`T x{};`構文での初期化。組み込み型の場合はゼロ相当の値で、クラス型の場合はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的に値初期化される">値初期化</a>を行うようになったため、初期化のためにこの機能を使用する必要はなくなった。</p>
225224
<h2></h2>
226225
<p><div class="yata" id="e72ff206572e923c5d0bd069dba01669a7ee071f"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../iostream.html">&lt;iostream&gt;</a></span><span class="cp"></span>
@@ -254,6 +253,7 @@ <h3>処理系</h3>
254253
<h2>参照</h2>
255254
<ul>
256255
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf" target="_blank">P0883R2 Fixing Atomic Initialization, Rev2</a></li>
256+
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#3659" target="_blank">LWG Issue 3659. Consider <code>ATOMIC_FLAG_INIT</code> undeprecation</a></li>
257257
</ul></div>
258258

259259
</div>

0 commit comments

Comments
 (0)