Skip to content

Commit 5fb2faf

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 82a4ec5 commit 5fb2faf

File tree

5 files changed

+235
-128
lines changed

5 files changed

+235
-128
lines changed

lang/cpp17/structured_bindings.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-09-12T04:12:48">
192-
2024年09月12日 04時12分48秒
191+
<span itemprop="datePublished" content="2024-12-21T02:13:39">
192+
2024年12月21日 02時13分39秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -519,6 +519,7 @@ <h2><a href="#relative-page" id="relative-page">関連項目</a></h2>
519519
<li><a href="../cpp20/reference_capture_of_structured_bindings.html">C++20 構造化束縛した変数の参照キャプチャを許可</a></li>
520520
<li><a href="../cpp26/attributes_for_structured_bindings.html">C++26 構造化束縛への属性を許可</a></li>
521521
<li><a href="../cpp26/structured_binding_declaration_as_a_condition.html">C++26 条件式での構造化束縛の使用を許可</a></li>
522+
<li><a href="../cpp26/nice_placeholder_with_no_name.html">C++26 宣言のみで使用しない変数の名前として_をサポート</a></li>
522523
</ul>
523524
<h2>参照</h2>
524525
<ul>

reference/mutex/lock_guard.html

Lines changed: 30 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;mutex&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;class template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;20b0169d99cb3a6fe1e0e93b2f43b9914c05bb9e&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;thread&gt;\n#include &lt;mutex&gt;\n#include &lt;vector&gt;\n\n// std::cout\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u6392\u4ed6\u7684\u306b\u3059\u308b\nstd::mutex print_mtx_;\nvoid safe_print(int x)\n{\n std::lock_guard&lt;std::mutex&gt; lock(print_mtx_);\n std::cout &lt;&lt; x &lt;&lt; std::endl;\n}\n\nclass X {\n std::mutex mtx_;\n std::vector&lt;int&gt; data_;\npublic:\n // vector\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u6392\u4ed6\u7684\u306b\u3059\u308b\n void add_value(int value)\n {\n std::lock_guard&lt;std::mutex&gt; lock(mtx_); // \u30ed\u30c3\u30af\u3092\u53d6\u5f97\u3059\u308b(lock_guard\u306e\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf)\n data_.push_back(value);\n } // \u30ed\u30c3\u30af\u3092\u624b\u653e\u3059(lock_guard\u306e\u30c7\u30b9\u30c8\u30e9\u30af\u30bf)\n\n void print()\n {\n std::lock_guard&lt;std::mutex&gt; lock(mtx_);\n for (int x : data_) {\n safe_print(x);\n }\n }\n};\n\nint main()\n{\n X x;\n\n std::thread t1([&amp;x]{ x.add_value(1); });\n std::thread t2([&amp;x]{ x.add_value(2); });\n\n t1.join();\n t2.join();\n\n x.print();\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;mutex&#34;, &#34;lock_guard&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;mutex&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;class template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;c17a48370b54fcb08a37155fd51b6da277635568&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;thread&gt;\n#include &lt;mutex&gt;\n\n// std::cout\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u6392\u4ed6\u7684\u306b\u3059\u308b\nstd::mutex print_mtx_;\nvoid safe_print(int x)\n{\n std::lock_guard&lt;std::mutex&gt; lock{print_mtx_};\n std::cout &lt;&lt; \&#34;value:\&#34; &lt;&lt; x &lt;&lt; std::endl;\n}\n\nint main()\n{\n std::thread t1([]{\n for (int i = 0; i &lt; 5; i++) {\n safe_print(i);\n }\n });\n std::thread t2([]{\n for (int i = 0; i &lt; 5; i++) {\n safe_print(5 + i);\n }\n });\n\n t1.join();\n t2.join();\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;mutex&#34;, &#34;lock_guard&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
192-
2024年06月11日 13時45分38秒
191+
<span itemprop="datePublished" content="2024-12-21T02:13:56">
192+
2024年12月21日 02時13分56秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -269,56 +269,48 @@ <h2>メンバ型</h2>
269269
</tbody>
270270
</table>
271271
<h2></h2>
272-
<p><div class="yata" id="20b0169d99cb3a6fe1e0e93b2f43b9914c05bb9e"><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>
272+
<h3>基本的な使い方</h3>
273+
<p><div class="yata" id="c17a48370b54fcb08a37155fd51b6da277635568"><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>
273274
<span class="cp">#include</span> <span class="cpf"><a href="../thread.html">&lt;thread&gt;</a></span><span class="cp"></span>
274275
<span class="cp">#include</span> <span class="cpf"><a href="../mutex.html">&lt;mutex&gt;</a></span><span class="cp"></span>
275-
<span class="cp">#include</span> <span class="cpf"><a href="../vector.html">&lt;vector&gt;</a></span><span class="cp"></span>
276276

277277
<span class="c1">// <a href="../iostream/cout.html">std::cout</a>へのアクセスを排他的にする</span>
278278
<span class="n"><a href="mutex.html">std::mutex</a></span> <span class="n">print_mtx_</span><span class="p">;</span>
279279
<span class="kt">void</span> <span class="nf">safe_print</span><span class="p">(</span><span class="kt">int</span> <span class="n">x</span><span class="p">)</span>
280280
<span class="p">{</span>
281-
<span class="n"><span style="color:#ff0000">std::lock_guard</span></span><span class="o">&lt;</span><span class="n"><a href="mutex.html">std::mutex</a></span><span class="o">&gt;</span> <span class="n">lock</span><span class="p">(</span><span class="n">print_mtx_</span><span class="p">);</span>
282-
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="n">x</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
281+
<span class="n"><span style="color:#ff0000">std::lock_guard</span></span><span class="o">&lt;</span><span class="n"><a href="mutex.html">std::mutex</a></span><span class="o">&gt;</span> <span class="n">lock</span><span class="p">{</span><span class="n">print_mtx_</span><span class="p">};</span>
282+
<span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o">&lt;&lt;</span> <span class="s">"value:"</span> <span class="o">&lt;&lt;</span> <span class="n">x</span> <span class="o">&lt;&lt;</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span>
283283
<span class="p">}</span>
284284

285-
<span class="k">class</span> <span class="nc">X</span> <span class="p">{</span>
286-
<span class="n"><a href="mutex.html">std::mutex</a></span> <span class="n">mtx_</span><span class="p">;</span>
287-
<span class="n"><a href="../vector/vector.html">std::vector</a></span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span> <span class="n">data_</span><span class="p">;</span>
288-
<span class="k">public</span><span class="o">:</span>
289-
<span class="c1">// vectorオブジェクトへのアクセスを排他的にする</span>
290-
<span class="kt">void</span> <span class="n">add_value</span><span class="p">(</span><span class="kt">int</span> <span class="n">value</span><span class="p">)</span>
291-
<span class="p">{</span>
292-
<span class="n"><span style="color:#ff0000">std::lock_guard</span></span><span class="o">&lt;</span><span class="n"><a href="mutex.html">std::mutex</a></span><span class="o">&gt;</span> <span class="n">lock</span><span class="p">(</span><span class="n">mtx_</span><span class="p">);</span> <span class="c1">// ロックを取得する(lock_guardのコンストラクタ)</span>
293-
<span class="n"><a href="../vector/vector/push_back.html">data_.push_back</a></span><span class="p">(</span><span class="n">value</span><span class="p">);</span>
294-
<span class="p">}</span> <span class="c1">// ロックを手放す(lock_guardのデストラクタ)</span>
295-
296-
<span class="kt">void</span> <span class="n">print</span><span class="p">()</span>
297-
<span class="p">{</span>
298-
<span class="n"><span style="color:#ff0000">std::lock_guard</span></span><span class="o">&lt;</span><span class="n"><a href="mutex.html">std::mutex</a></span><span class="o">&gt;</span> <span class="n">lock</span><span class="p">(</span><span class="n">mtx_</span><span class="p">);</span>
299-
<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="nl">x</span> <span class="p">:</span> <span class="n">data_</span><span class="p">)</span> <span class="p">{</span>
300-
<span class="n">safe_print</span><span class="p">(</span><span class="n">x</span><span class="p">);</span>
301-
<span class="p">}</span>
302-
<span class="p">}</span>
303-
<span class="p">};</span>
304-
305285
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
306286
<span class="p">{</span>
307-
<span class="n">X</span> <span class="n">x</span><span class="p">;</span>
308-
309-
<span class="n"><a href="../thread/thread.html">std::thread</a></span> <span class="n">t1</span><span class="p">([</span><span class="o">&amp;</span><span class="n">x</span><span class="p">]{</span> <span class="n">x</span><span class="p">.</span><span class="n">add_value</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="p">});</span>
310-
<span class="n"><a href="../thread/thread.html">std::thread</a></span> <span class="n">t2</span><span class="p">([</span><span class="o">&amp;</span><span class="n">x</span><span class="p">]{</span> <span class="n">x</span><span class="p">.</span><span class="n">add_value</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span> <span class="p">});</span>
287+
<span class="n"><a href="../thread/thread.html">std::thread</a></span> <span class="n">t1</span><span class="p">([]{</span>
288+
<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
289+
<span class="n">safe_print</span><span class="p">(</span><span class="n">i</span><span class="p">);</span>
290+
<span class="p">}</span>
291+
<span class="p">});</span>
292+
<span class="n"><a href="../thread/thread.html">std::thread</a></span> <span class="n">t2</span><span class="p">([]{</span>
293+
<span class="k">for</span> <span class="p">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
294+
<span class="n">safe_print</span><span class="p">(</span><span class="mi">5</span> <span class="o">+</span> <span class="n">i</span><span class="p">);</span>
295+
<span class="p">}</span>
296+
<span class="p">});</span>
311297

312298
<span class="n"><a href="../thread/thread/join.html">t1.join()</a></span><span class="p">;</span>
313299
<span class="n"><a href="../thread/thread/join.html">t2.join()</a></span><span class="p">;</span>
314-
315-
<span class="n">x</span><span class="p">.</span><span class="n">print</span><span class="p">();</span>
316300
<span class="p">}</span>
317301
</code></pre></div>
318302
</div></p>
319-
<h3>出力</h3>
320-
<p><pre><code>1
321-
2
303+
<h4>出力例</h4>
304+
<p><pre><code>value:5
305+
value:6
306+
value:7
307+
value:8
308+
value:9
309+
value:0
310+
value:1
311+
value:2
312+
value:3
313+
value:4
322314
</code></pre></p>
323315
<h2>バージョン</h2>
324316
<h3>言語</h3>
@@ -327,14 +319,15 @@ <h3>言語</h3>
327319
</ul>
328320
<h3>処理系</h3>
329321
<ul>
330-
<li><a href="../../implementation.html#clang">Clang</a>: ??</li>
322+
<li><a href="../../implementation.html#clang">Clang</a>: 14 <span aria-label="検証済" role="img" title="検証済"></span></li>
331323
<li><a href="../../implementation.html#gcc">GCC</a>: 4.7.0 <span aria-label="検証済" role="img" title="検証済"></span></li>
332324
<li><a href="../../implementation.html#icc">ICC</a>: ??</li>
333325
<li><a href="../../implementation.html#visual_cpp">Visual C++</a>: 2012 <span aria-label="検証済" role="img" title="検証済"></span>, 2013 <span aria-label="検証済" role="img" title="検証済"></span>, 2015 <span aria-label="検証済" role="img" title="検証済"></span></li>
334326
</ul>
335327
<h2>関連項目</h2>
336328
<ul>
337329
<li><code><a href="scoped_lock.html">scoped_lock</a></code></li>
330+
<li><a href="../../lang/cpp26/nice_placeholder_with_no_name.html">C++26 宣言のみで使用しない変数の名前として_をサポート</a></li>
338331
</ul></div>
339332

340333
</div>

reference/mutex/scoped_lock.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
192-
2024年06月11日 13時45分38秒
191+
<span itemprop="datePublished" content="2024-12-21T02:13:39">
192+
2024年12月21日 02時13分39秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -318,6 +318,7 @@ <h3>処理系</h3>
318318
<h2>関連項目</h2>
319319
<ul>
320320
<li><code><a href="lock_guard.html">lock_guard</a></code></li>
321+
<li><a href="../../lang/cpp26/nice_placeholder_with_no_name.html">C++26 宣言のみで使用しない変数の名前として_をサポート</a></li>
321322
</ul>
322323
<h2>参照</h2>
323324
<ul>

0 commit comments

Comments
 (0)