Skip to content

Commit 9a3e681

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent a3285e6 commit 9a3e681

File tree

4 files changed

+218
-13
lines changed

4 files changed

+218
-13
lines changed

reference/map/map/at.html

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-09-24T06:32:54">
204-
2024年09月24日 06時32分54秒
203+
<span itemprop="datePublished" content="2025-05-15T06:31:22">
204+
2025年05月15日 06時31分22秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,17 +225,46 @@
225225
<div class="col-sm-12 content-body">
226226

227227
<div class="identifier-type">function</div><div class="header">&lt;map&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="class" title="class map">map::</span><span class="token">at</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="n">T</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">key_type</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span>
229-
<span class="k">const</span> <span class="n">T</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">key_type</span> <span class="o">&amp;</span> <span class="n">x</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="n">T</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">key_type</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (1) C++11</span>
229+
<span class="k">const</span> <span class="n">T</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">key_type</span> <span class="o">&amp;</span> <span class="n">x</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span> <span class="c1">// (2) C++11</span>
230+
231+
<span class="k">template</span><span class="o">&lt;</span><span class="k">class</span> <span class="nc">K</span><span class="o">&gt;</span>
232+
<span class="n">mapped_type</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">K</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (3) C++26</span>
233+
<span class="k">template</span><span class="o">&lt;</span><span class="k">class</span> <span class="nc">K</span><span class="o">&gt;</span>
234+
<span class="k">const</span> <span class="n">mapped_type</span><span class="o">&amp;</span> <span class="n">at</span><span class="p">(</span><span class="k">const</span> <span class="n">K</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">)</span> <span class="k">const</span><span class="p">;</span> <span class="c1">// (4) C++26</span>
230235
</code></pre></div>
231236
</p>
232237
<h2>概要</h2>
233238
<p>指定したキーを持つ要素を取得する。<br />
234-
要素を取り出す際にキーの存在チェックをする。</p>
239+
<code><a href="op_at.html">operator[]</a></code>と違って、要素を取り出す際にキーに対応する値がなければ<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>が送出される。</p>
240+
<ul>
241+
<li>(1), (2) : クラスのテンプレートパラメータ<code>key_type</code>型のキーに対応する要素を取得する</li>
242+
<li>(3), (4) : <code>key_type</code>と比較可能な<code>K</code>型のキーに対応する要素を取得する</li>
243+
</ul>
244+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
245+
<ul>
246+
<li>(3), (4) : <code>key_compare::is_transparent</code> が妥当な式であること</li>
247+
</ul>
248+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
249+
<ul>
250+
<li>(3), (4) : <code><a href="find.html">find</a>(x)</code>が妥当な式であり、定義された動作をすること</li>
251+
</ul>
235252
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
236-
<p>キー<code>x</code>に対応する値を返す。対応する要素が存在しないときは、<code><a href="../../stdexcept.html">out_of_range</a></code><a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>を投げる。</p>
253+
<p>キー<code>x</code>に対応する値を返す。</p>
237254
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量">計算量</a></h2>
238255
<p>要素数に対して対数時間</p>
256+
<h2><a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a></h2>
257+
<ul>
258+
<li>対応する要素が存在しない場合、<code><a href="../../stdexcept.html">std::out_of_range</a></code><a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>を送出する</li>
259+
</ul>
260+
<h2>備考</h2>
261+
<ul>
262+
<li>(3), (4) :<ul>
263+
<li><code>is_transparent</code>は、標準ライブラリの<code><a href="../../functional/less.html">std::less</a></code><code><a href="../../functional/greater.html">std::greater</a></code>といった関数オブジェクトの、<code>void</code>に対する特殊化で定義される。それ以外のテンプレートパラメータで<code>is_transparent</code>が定義されないのは、互換性のためである。</li>
264+
<li>これらの<a class="cpprefjp-defined-word" data-desc="同名の関数を異なる引数・テンプレート・制約などで複数定義すること。または同名の関数の集合">オーバーロード</a>は、<code>map&lt;string, int&gt;</code>のようなコンテナに対し、検索操作で文字列リテラルを渡した際に、キー型の一時オブジェクトが生成されるコストを減らすためにある。</li>
265+
</ul>
266+
</li>
267+
</ul>
239268
<h2></h2>
240269
<p><div class="yata" id="1b80342a7080438e44ef6bdca0dd25d2f2db6de8"><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>
241270
<span class="cp">#include</span> <span class="cpf"><a href="../../map.html">&lt;map&gt;</a></span><span class="cp"></span>
@@ -297,6 +326,13 @@ <h2>関連項目</h2>
297326
<h2>参照</h2>
298327
<ul>
299328
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#464" target="_blank">LWG Issue 464. Suggestion for new member functions in standard containers</a></li>
329+
</ul>
330+
<h2>参照</h2>
331+
<ul>
332+
<li><a href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html" target="_blank">P2363R5 Extending associative containers with the remaining heterogeneous overloads</a><ul>
333+
<li>C++26で<code>template &lt;class K&gt;</code>のバージョンが追加された</li>
334+
</ul>
335+
</li>
300336
</ul></div>
301337

302338
</div>

reference/map/map/op_at.html

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-09-24T06:32:54">
204-
2024年09月24日 06時32分54秒
203+
<span itemprop="datePublished" content="2025-05-15T06:31:22">
204+
2025年05月15日 06時31分22秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -226,15 +226,35 @@
226226

227227
<div class="identifier-type">function</div><div class="header">&lt;map&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="class" title="class map">map::</span><span class="token">operator[]</span></h1>
228228
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="n">T</span><span class="o">&amp;</span> <span class="k">operator</span><span class="p">[](</span><span class="k">const</span> <span class="n">key_type</span><span class="o">&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (1) C++03</span>
229+
229230
<span class="n">T</span><span class="o">&amp;</span> <span class="k">operator</span><span class="p">[](</span><span class="n">key_type</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (2) C++11</span>
231+
232+
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">K</span><span class="o">&gt;</span>
233+
<span class="n">T</span><span class="o">&amp;</span> <span class="k">operator</span><span class="p">[](</span><span class="n">K</span><span class="o">&amp;&amp;</span> <span class="n">x</span><span class="p">);</span> <span class="c1">// (3) C++26</span>
230234
</code></pre></div>
231235
</p>
232236
<h2>概要</h2>
233237
<p>指定したキーを持つ要素を取得する。対応する要素が存在しない場合は生成して返す。</p>
238+
<ul>
239+
<li>(1), (2) : クラスのテンプレートパラメータ<code>key_type</code>型のキーに対応する要素を取得する</li>
240+
<li>(3) : <code>key_type</code>と比較可能な<code>K</code>型のキーに対応する要素を取得する</li>
241+
</ul>
242+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
243+
<ul>
244+
<li>(3) : <code>key_compare::is_transparent</code> が妥当な式であること</li>
245+
</ul>
234246
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>
235247
<p>キー<code>x</code>に対応する値を返す。対応する要素が存在しない場合は、要素を<a class="cpprefjp-defined-word" data-desc="`T x{};`構文での初期化。組み込み型の場合はゼロ相当の値で、クラス型の場合はデフォルトコンストラクタで初期化する。配列型の場合は各要素が再帰的に値初期化される">値初期化</a>して参照を返す。</p>
236248
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Complexity。関数が使うアルゴリズムの空間計算量・時間計算量">計算量</a></h2>
237249
<p>要素数に対して対数時間</p>
250+
<h2>備考</h2>
251+
<ul>
252+
<li>(3) :<ul>
253+
<li><code>is_transparent</code>は、標準ライブラリの<code><a href="../../functional/less.html">std::less</a></code><code><a href="../../functional/greater.html">std::greater</a></code>といった関数オブジェクトの、<code>void</code>に対する特殊化で定義される。それ以外のテンプレートパラメータで<code>is_transparent</code>が定義されないのは、互換性のためである。</li>
254+
<li>これらの<a class="cpprefjp-defined-word" data-desc="同名の関数を異なる引数・テンプレート・制約などで複数定義すること。または同名の関数の集合">オーバーロード</a>は、<code>map&lt;string, int&gt;</code>のようなコンテナに対し、検索操作で文字列リテラルを渡した際に、キー型の一時オブジェクトが生成されるコストを減らすためにある。</li>
255+
</ul>
256+
</li>
257+
</ul>
238258
<h2></h2>
239259
<p><div class="yata" id="7056cc245ac0858132ade4cfeb481960630fd97e"><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>
240260
<span class="cp">#include</span> <span class="cpf"><a href="../../map.html">&lt;map&gt;</a></span><span class="cp"></span>
@@ -274,7 +294,14 @@ <h2>関連項目</h2>
274294
<td>要素を挿入する</td>
275295
</tr>
276296
</tbody>
277-
</table></div>
297+
</table>
298+
<h2>参照</h2>
299+
<ul>
300+
<li><a href="http://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html" target="_blank">P2363R5 Extending associative containers with the remaining heterogeneous overloads</a><ul>
301+
<li>C++26で<code>template &lt;class K&gt;</code>のバージョンが追加された</li>
302+
</ul>
303+
</li>
304+
</ul></div>
278305

279306
</div>
280307
</div>

0 commit comments

Comments
 (0)