Files
hustoj/web/cppreference-zh/chmhelp/cpp-container-unordered_map-begin.html
2025-08-01 12:57:54 +08:00

142 lines
12 KiB
HTML

<!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::unordered_map&lt;Key,T,Hash,KeyEqual,Allocator&gt;::begin, std::unordered_map&lt;Key,T,Hash,KeyEqual,Allocator&gt;::cbegin</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_unordered_map_begin 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::unordered_map&lt;Key,T,Hash,KeyEqual,Allocator&gt;::</span>begin, <span style="font-size:0.7em; line-height:130%">std::unordered_map&lt;Key,T,Hash,KeyEqual,Allocator&gt;::</span>cbegin</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-unordered_map.html">unordered 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>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator begin<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>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">const_iterator begin<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 t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">const_iterator cbegin<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>unordered_map</code> &#39318;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#12290;</p>
<p>&#33509; <code>unordered_map</code> &#20026;&#31354;&#65292;&#21017;&#36820;&#22238;&#30340;&#36845;&#20195;&#22120;&#23558;&#31561;&#20110; <span class="t-lc"><a href="cpp-container-unordered_map-end.html">end()</a></span> &#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;&#39318;&#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 t-example-std-c++11">
<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;unordered_map&gt;</span>
<span class="kw1">struct</span> Node <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="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
Node nodes<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">1</span>, <span class="nu0">0</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">3</span>, <span class="nu0">0</span><span class="br0">}</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="co1">// mag &#26159;&#26144;&#23556; Node &#22320;&#22336;&#21040;&#20854;&#24179;&#38754;&#20013;&#38271;&#24230;&#30340; map</span>
<a href="cpp-container-unordered_map.html"><span class="kw1293">std::<span class="me2">unordered_map</span></span></a><span class="sy1">&lt;</span>Node <span class="sy2">*</span>, <span class="kw4">double</span><span class="sy1">&gt;</span> mag <span class="sy1">=</span> <span class="br0">{</span>
<span class="br0">{</span> nodes, <span class="nu0">1</span> <span class="br0">}</span>,
<span class="br0">{</span> nodes <span class="sy2">+</span> <span class="nu0">1</span>, <span class="nu0">2</span> <span class="br0">}</span>,
<span class="br0">{</span> nodes <span class="sy2">+</span> <span class="nu0">2</span>, <span class="nu0">3</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; Node &#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;&#20351;&#29992; cur-&gt;y = iter-&gt;second;</span>
<span class="br0">}</span>
<span class="co1">// &#26356;&#26032;&#24182;&#25171;&#21360;&#27599;&#20010;&#32467;&#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;&#20250;&#25171;&#21360;&#26356;&#26032;&#30340;&#38271;&#24230;</span>
<span class="br0">}</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#21487;&#33021;&#30340;&#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 (3, 3) is 4.24264
The magnitude of (1, 1) is 1.41421
The magnitude of (2, 2) is 2.82843
The magnitude of (3, 4.24264) is 5.19615
The magnitude of (1, 1.41421) is 1.73205
The magnitude of (2, 2.82843) is 3.4641</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-unordered_map-end.html"><span class="t-lines"><span>end</span> <span>cend</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#36820;&#22238;&#25351;&#21521;&#26411;&#23614;&#30340;&#36845;&#20195;&#22120;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
</table>
<table class="t-dcl-begin">
<tbody></tbody>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>