Skip to content

Commit a9e72a4

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 9409927 commit a9e72a4

File tree

7 files changed

+723
-110
lines changed

7 files changed

+723
-110
lines changed

reference/deque/deque/erase_free.html

Lines changed: 50 additions & 5 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;deque&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp20&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;6a94dc6d4c325f1e5d02b2aa328d9aa0d21b341f&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;deque&gt;\n\nint main()\n{\n std::deque&lt;int&gt; deq = {3, 1, 4, 1, 5};\n\n // \u30b3\u30f3\u30c6\u30cadeq\u304b\u3089\u3001\u50241\u3092\u3082\u3064\u8981\u7d20\u3092\u3059\u3079\u3066\u524a\u9664\u3059\u308b\n std::erase(deq, 1);\n\n for (int x : deq) {\n std::cout &lt;&lt; x &lt;&lt; std::endl;\n }\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;deque&#34;, &#34;deque&#34;, &#34;erase_free&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;deque&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp20&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;6a94dc6d4c325f1e5d02b2aa328d9aa0d21b341f&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;deque&gt;\n\nint main()\n{\n std::deque&lt;int&gt; deq = {3, 1, 4, 1, 5};\n\n // \u30b3\u30f3\u30c6\u30cadeq\u304b\u3089\u3001\u50241\u3092\u3082\u3064\u8981\u7d20\u3092\u3059\u3079\u3066\u524a\u9664\u3059\u308b\n std::erase(deq, 1);\n\n for (int x : deq) {\n std::cout &lt;&lt; x &lt;&lt; std::endl;\n }\n}\n&#34;}, {&#34;id&#34;: &#34;389a0cca9fe3d39b8386427517d94e701b836c5e&#34;, &#34;source&#34;: &#34;#include &lt;print&gt;\n#include &lt;deque&gt;\n#include &lt;vector&gt;\n\nint main() {\n std::deque&lt;std::vector&lt;int&gt;&gt; d = {\n {1, 2, 3},\n {4, 5, 6},\n {},\n {7, 8}\n };\n\n std::erase(d, {}); // \u7a7a\u306e\u8981\u7d20\u3092\u524a\u9664\n std::erase(d, {1, 2, 3}); // \u5024{1, 2, 3}\u3092\u3082\u3064\u8981\u7d20\u3092\u524a\u9664\n\n std::println(\&#34;{}\&#34;, d);\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;deque&#34;, &#34;deque&#34;, &#34;erase_free&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -200,8 +200,8 @@
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-05-22T14:44:27">
204+
2025年05月22日 14時44分27秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -227,7 +227,11 @@
227227
<div class="identifier-type">function template</div><div class="header">&lt;deque&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">erase (非メンバ関数)</span><span class="cpp cpp20" title="C++20で追加">(C++20)</span></h1>
228228
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span> <span class="p">{</span>
229229
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">T</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Allocator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">U</span><span class="o">&gt;</span>
230-
<span class="k">typename</span> <span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;::</span><span class="n">size_type</span> <span class="n">erase</span><span class="p">(</span><span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">c</span><span class="p">,</span> <span class="k">const</span> <span class="n">U</span><span class="o">&amp;</span> <span class="n">value</span><span class="p">);</span>
230+
<span class="k">typename</span> <span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;::</span><span class="n">size_type</span>
231+
<span class="n">erase</span><span class="p">(</span><span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">c</span><span class="p">,</span> <span class="k">const</span> <span class="n">U</span><span class="o">&amp;</span> <span class="n">value</span><span class="p">);</span> <span class="c1">// (1) C++20</span>
232+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">T</span><span class="p">,</span> <span class="k">class</span> <span class="nc">Allocator</span><span class="p">,</span> <span class="k">class</span> <span class="nc">U</span> <span class="o">=</span> <span class="n">T</span><span class="o">&gt;</span>
233+
<span class="k">typename</span> <span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;::</span><span class="n">size_type</span>
234+
<span class="n">erase</span><span class="p">(</span><span class="n">deque</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">Allocator</span><span class="o">&gt;&amp;</span> <span class="n">c</span><span class="p">,</span> <span class="k">const</span> <span class="n">U</span><span class="o">&amp;</span> <span class="n">value</span><span class="p">);</span> <span class="c1">// (1) C++26</span>
231235
<span class="p">}</span>
232236
</code></pre></div>
233237
</p>
@@ -242,7 +246,21 @@ <h2>効果</h2>
242246
</code></pre></p>
243247
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
244248
<p>削除した要素数を返す。</p>
249+
<h2>備考</h2>
250+
<ul>
251+
<li>(1) :<ul>
252+
<li>C++26 : 引数として波カッコ初期化<code>{}</code>を受け付ける
253+
<br />
254+
<div class="codehilite"><pre><span></span><code><span class="n"><a href="../deque.html">std::deque</a></span><span class="o">&lt;</span><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;&gt;</span> <span class="n">d</span><span class="p">;</span>
255+
<span class="n">erase</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="p">{});</span> <span class="c1">// 空の要素を削除</span>
256+
<span class="n">erase</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">});</span> <span class="c1">// 値{1, 2, 3}をもつ要素を削除</span>
257+
</code></pre></div>
258+
</li>
259+
</ul>
260+
</li>
261+
</ul>
245262
<h2></h2>
263+
<h3>基本的な使い方</h3>
246264
<p><div class="yata" id="6a94dc6d4c325f1e5d02b2aa328d9aa0d21b341f"><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>
247265
<span class="cp">#include</span> <span class="cpf"><a href="../deque.html">&lt;deque&gt;</a></span><span class="cp"></span>
248266

@@ -259,11 +277,34 @@ <h2>例</h2>
259277
<span class="p">}</span>
260278
</code></pre></div>
261279
</div></p>
262-
<h3>出力</h3>
280+
<h4>出力</h4>
263281
<p><pre><code>3
264282
4
265283
5
266284
</code></pre></p>
285+
<h3>波カッコ初期化を入力として使用する (C++26)</h3>
286+
<p><div class="yata" id="389a0cca9fe3d39b8386427517d94e701b836c5e"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../../print.html">&lt;print&gt;</a></span><span class="cp"></span>
287+
<span class="cp">#include</span> <span class="cpf"><a href="../deque.html">&lt;deque&gt;</a></span><span class="cp"></span>
288+
<span class="cp">#include</span> <span class="cpf"><a href="../../vector.html">&lt;vector&gt;</a></span><span class="cp"></span>
289+
290+
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
291+
<span class="n"><a href="../deque.html">std::deque</a></span><span class="o">&lt;</span><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;&gt;</span> <span class="n">d</span> <span class="o">=</span> <span class="p">{</span>
292+
<span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">},</span>
293+
<span class="p">{</span><span class="mi">4</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">},</span>
294+
<span class="p">{},</span>
295+
<span class="p">{</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">}</span>
296+
<span class="p">};</span>
297+
298+
<span class="n">std</span><span class="o">::</span><span class="n">erase</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="p">{});</span> <span class="c1">// 空の要素を削除</span>
299+
<span class="n">std</span><span class="o">::</span><span class="n">erase</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">});</span> <span class="c1">// 値{1, 2, 3}をもつ要素を削除</span>
300+
301+
<span class="n"><a href="../../print/println.html">std::println</a></span><span class="p">(</span><span class="s">"{}"</span><span class="p">,</span> <span class="n">d</span><span class="p">);</span>
302+
<span class="p">}</span>
303+
</code></pre></div>
304+
</div></p>
305+
<h4>出力</h4>
306+
<p><pre><code>[[4, 5, 6], [7, 8]]
307+
</code></pre></p>
267308
<h2>バージョン</h2>
268309
<h3>言語</h3>
269310
<ul>
@@ -279,6 +320,10 @@ <h2>参照</h2>
279320
<ul>
280321
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html" target="_blank">P1209R0 Adopt consistent container erasure from Library Fundamentals 2</a></li>
281322
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1115r3.pdf" target="_blank">R1115R3 Improving the Return Value of Erase-Like Algorithms II: Free <code>erase</code>/<code>erase_if</code></a></li>
323+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2248r8.html" target="_blank">P2248R8 Enabling list-initialization for algorithms</a><ul>
324+
<li>C++26で波カッコ初期化 (リスト初期化) に対応した</li>
325+
</ul>
326+
</li>
282327
</ul></div>
283328

284329
</div>

0 commit comments

Comments
 (0)