上传cppreference

This commit is contained in:
2025-08-01 12:57:54 +08:00
parent e29892f8cd
commit 196e706fe4
5485 changed files with 982007 additions and 3 deletions

View File

@@ -0,0 +1,195 @@
<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>std::map&lt;Key,T,Compare,Allocator&gt;::end, std::map&lt;Key,T,Compare,Allocator&gt;::cend</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_container_map_end skin-cppreference2 action-view cpp-page-template cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::map&lt;Key,T,Compare,Allocator&gt;::</span>end, <span style="font-size:0.7em; line-height:130%">std::map&lt;Key,T,Compare,Allocator&gt;::</span>cend</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-container.html">container</a>&lrm; | <a href="cpp-container-map.html">map</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<div class="t-page-template" style="">
<p></p>
</div>
<table class="t-dcl-begin">
<tbody></tbody>
<tbody class="t-dcl-rev">
<tr class="t-dcl t-until-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator end<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator end<span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</tbody>
<tbody></tbody>
<tbody class="t-dcl-rev">
<tr class="t-dcl t-until-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">const_iterator end<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">const_iterator end<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</tbody>
<tbody>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">const_iterator cend<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="kw1">noexcept</span><span class="sy4">;</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#36820;&#22238;&#25351;&#21521; <code>map</code> &#26411;&#20803;&#32032;&#21518;&#19968;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#12290;</p>
<p>&#27492;&#20803;&#32032;&#34920;&#29616;&#20026;&#21344;&#20301;&#31526;&#65307;&#35797;&#22270;&#35775;&#38382;&#23427;&#23548;&#33268;&#26410;&#23450;&#20041;&#34892;&#20026;&#12290;</p>
<div class="t-image">
<p><img alt="range-begin-end.svg" src="range-begin-end.svg" width="546" height="157" /></p>
</div>
<h3><span class="mw-headline" id=".E5.8F.82.E6.95.B0">&#21442;&#25968;</span></h3>
<p>&#65288;&#26080;&#65289;</p>
<h3><span class="mw-headline" id=".E8.BF.94.E5.9B.9E.E5.80.BC">&#36820;&#22238;&#20540;</span></h3>
<p>&#25351;&#21521;&#21518;&#38543;&#26368;&#21518;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#12290;</p>
<h3><span class="mw-headline" id=".E5.A4.8D.E6.9D.82.E5.BA.A6">&#22797;&#26434;&#24230;</span></h3>
<p>&#24120;&#25968;&#12290;</p>
<p><br /></p>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<div class="t-example">
<div class="t-example-live-link"></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;iostream&gt;</span>
<span class="co2">#include &lt;map&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<a href="cpp-container-map.html"><span class="kw1281">std::<span class="me2">map</span></span></a><span class="sy1">&lt;</span><span class="kw4">int</span>, <span class="kw4">float</span><span class="sy1">&gt;</span> num_map<span class="sy4">;</span>
num_map<span class="br0">[</span><span class="nu0">4</span><span class="br0">]</span> <span class="sy1">=</span> <span class="nu16">4.13</span><span class="sy4">;</span>
num_map<span class="br0">[</span><span class="nu0">9</span><span class="br0">]</span> <span class="sy1">=</span> <span class="nu16">9.24</span><span class="sy4">;</span>
num_map<span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="sy1">=</span> <span class="nu16">1.09</span><span class="sy4">;</span>
<span class="co1">// &#35843;&#29992; a_map.begin() &#19982; a_map.end()</span>
<span class="kw1">for</span> <span class="br0">(</span><span class="kw4">auto</span> it <span class="sy1">=</span> num_map.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> it <span class="sy3">!</span><span class="sy1">=</span> num_map.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="sy2">++</span>it<span class="br0">)</span> <span class="br0">{</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> it<span class="sy2">-</span><span class="sy1">&gt;</span>first <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;, &quot;</span> <span class="sy1">&lt;&lt;</span> it<span class="sy2">-</span><span class="sy1">&gt;</span>second <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#36755;&#20986;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="text source-text">
<pre class="de1">1, 1.09
4, 4.13
9, 9.24</pre></div>
</div>
</div>
<h4><span class="mw-headline" id=".E4.BD.BF.E7.94.A8.E5.AE.9A.E5.88.B6.E6.AF.94.E8.BE.83.E5.87.BD.E6.95.B0.E7.9A.84.E7.A4.BA.E4.BE.8B">&#20351;&#29992;&#23450;&#21046;&#27604;&#36739;&#20989;&#25968;&#30340;&#31034;&#20363;</span></h4>
<div class="t-example">
<div class="t-example-live-link"></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;cmath&gt;</span>
<span class="co2">#include &lt;iostream&gt;</span>
<span class="co2">#include &lt;map&gt;</span>
<span class="kw1">struct</span> Point <span class="br0">{</span> <span class="kw4">double</span> x, y<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="co1">// &#27604;&#36739;&#20108;&#20010; Pointer &#25351;&#38024;&#30340; x &#22352;&#26631;</span>
<span class="kw1">struct</span> PointCmp <span class="br0">{</span>
<span class="kw4">bool</span> operator<span class="br0">(</span><span class="br0">)</span><span class="br0">(</span><span class="kw4">const</span> Point <span class="sy2">*</span>lhs, <span class="kw4">const</span> Point <span class="sy2">*</span>rhs<span class="br0">)</span> <span class="kw4">const</span> <span class="br0">{</span>
<span class="kw1">return</span> lhs<span class="sy2">-</span><span class="sy1">&gt;</span>x <span class="sy1">&lt;</span> rhs<span class="sy2">-</span><span class="sy1">&gt;</span>x<span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<span class="co1">// &#27880;&#24847;&#23613;&#31649; x &#22352;&#26631;&#20081;&#24207;&#65292;&#20134;&#23558;&#25353;&#29031;&#36882;&#22686;&#30340; x &#22352;&#26631;&#36845;&#20195; map</span>
Point points<span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span> <span class="br0">{</span><span class="nu0">2</span>, <span class="nu0">0</span><span class="br0">}</span>, <span class="br0">{</span><span class="nu0">1</span>, <span class="nu0">0</span><span class="br0">}</span>, <span class="br0">{</span><span class="nu0">3</span>, <span class="nu0">0</span><span class="br0">}</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="co1">// mag &#26159;&#21457;&#36865;&#32467;&#28857;&#22320;&#22336;&#21040;&#20854;&#22312; x-y &#24179;&#38754;&#20013;&#38271;&#24230;&#30340; map</span>
<span class="co1">// &#23613;&#31649;&#38190;&#20026;&#25351;&#21521; Point &#30340;&#25351;&#38024;&#65292;&#25105;&#20204;&#24076;&#26395;&#25353;&#29031;&#28857;&#30340; x &#22352;&#26631;&#32780;&#38750;&#28857;&#30340;&#22320;&#22336;&#20026; map &#36171;&#24207;&#12290;</span>
<span class="co1">// &#36890;&#36807;&#29992; PointCmp &#31867;&#30340;&#27604;&#36739;&#26041;&#27861;&#36827;&#34892;&#12290;</span>
<a href="cpp-container-map.html"><span class="kw1281">std::<span class="me2">map</span></span></a><span class="sy1">&lt;</span>Point <span class="sy2">*</span>, <span class="kw4">double</span>, PointCmp<span class="sy1">&gt;</span> mag<span class="br0">(</span><span class="br0">{</span>
<span class="br0">{</span> points, <span class="nu0">2</span> <span class="br0">}</span>,
<span class="br0">{</span> points <span class="sy2">+</span> <span class="nu0">1</span>, <span class="nu0">1</span> <span class="br0">}</span>,
<span class="br0">{</span> points <span class="sy2">+</span> <span class="nu0">2</span>, <span class="nu0">3</span> <span class="br0">}</span>
<span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#20174; 0 &#21040;&#38271;&#24230;&#26356;&#25913;&#27599;&#20010; y &#22352;&#26631;</span>
<span class="kw1">for</span><span class="br0">(</span><span class="kw4">auto</span> iter <span class="sy1">=</span> mag.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> iter <span class="sy3">!</span><span class="sy1">=</span> mag.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="sy2">++</span>iter<span class="br0">)</span><span class="br0">{</span>
<span class="kw4">auto</span> cur <span class="sy1">=</span> iter<span class="sy2">-</span><span class="sy1">&gt;</span>first<span class="sy4">;</span> <span class="co1">// &#25351;&#21521; Point &#30340;&#25351;&#38024;</span>
cur<span class="sy2">-</span><span class="sy1">&gt;</span>y <span class="sy1">=</span> mag<span class="br0">[</span>cur<span class="br0">]</span><span class="sy4">;</span> <span class="co1">// &#20134;&#33021;&#29992; cur-&gt;y = iter-&gt;second;</span>
<span class="br0">}</span>
<span class="co1">// &#26356;&#26032;&#24182;&#25171;&#21360;&#27599;&#20010;&#28857;&#30340;&#38271;&#24230;</span>
<span class="kw1">for</span><span class="br0">(</span><span class="kw4">auto</span> iter <span class="sy1">=</span> mag.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> iter <span class="sy3">!</span><span class="sy1">=</span> mag.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="sy2">++</span>iter<span class="br0">)</span><span class="br0">{</span>
<span class="kw4">auto</span> cur <span class="sy1">=</span> iter<span class="sy2">-</span><span class="sy1">&gt;</span>first<span class="sy4">;</span>
mag<span class="br0">[</span>cur<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-numeric-math-hypot.html"><span class="kw1331">std::<span class="me2">hypot</span></span></a><span class="br0">(</span>cur<span class="sy2">-</span><span class="sy1">&gt;</span>x, cur<span class="sy2">-</span><span class="sy1">&gt;</span>y<span class="br0">)</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;The magnitude of (&quot;</span> <span class="sy1">&lt;&lt;</span> cur<span class="sy2">-</span><span class="sy1">&gt;</span>x <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;, &quot;</span> <span class="sy1">&lt;&lt;</span> cur<span class="sy2">-</span><span class="sy1">&gt;</span>y <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;) is &quot;</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> iter<span class="sy2">-</span><span class="sy1">&gt;</span>second <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="co1">// &#20197;&#22522;&#20110;&#33539;&#22260;&#30340; for &#24490;&#29615;&#37325;&#22797;&#19978;&#36848;&#20869;&#23481;</span>
<span class="kw1">for</span><span class="br0">(</span><span class="kw4">auto</span> i <span class="sy4">:</span> mag<span class="br0">)</span> <span class="br0">{</span>
<span class="kw4">auto</span> cur <span class="sy1">=</span> i.<span class="me1">first</span><span class="sy4">;</span>
cur<span class="sy2">-</span><span class="sy1">&gt;</span>y <span class="sy1">=</span> i.<span class="me1">second</span><span class="sy4">;</span>
mag<span class="br0">[</span>cur<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-numeric-math-hypot.html"><span class="kw1331">std::<span class="me2">hypot</span></span></a><span class="br0">(</span>cur<span class="sy2">-</span><span class="sy1">&gt;</span>x, cur<span class="sy2">-</span><span class="sy1">&gt;</span>y<span class="br0">)</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;The magnitude of (&quot;</span> <span class="sy1">&lt;&lt;</span> cur<span class="sy2">-</span><span class="sy1">&gt;</span>x <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;, &quot;</span> <span class="sy1">&lt;&lt;</span> cur<span class="sy2">-</span><span class="sy1">&gt;</span>y <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;) is &quot;</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> mag<span class="br0">[</span>cur<span class="br0">]</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="co1">// &#27880;&#24847;&#19982;&#19978;&#36848; std::cout &lt;&lt; iter-&gt;second &lt;&lt; &#39;\n&#39;; &#30456;&#21453;&#65292;</span>
<span class="co1">// std::cout &lt;&lt; i.second &lt;&lt; &#39;\n&#39;; &#23558;&#19981;&#25171;&#21360;&#26356;&#26032;&#30340;&#38271;&#24230;</span>
<span class="br0">}</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#36755;&#20986;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="text source-text">
<pre class="de1">The magnitude of (1, 1) is 1.41421
The magnitude of (2, 2) is 2.82843
The magnitude of (3, 3) is 4.24264
The magnitude of (1, 1.41421) is 1.73205
The magnitude of (2, 2.82843) is 3.4641
The magnitude of (3, 4.24264) is 5.19615</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-container-map-begin.html"><span class="t-lines"><span>begin</span> <span>cbegin</span></span></a></div>
<div><span class="t-lines"><span></span><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#36820;&#22238;&#25351;&#21521;&#36215;&#22987;&#30340;&#36845;&#20195;&#22120;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>