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

350 lines
36 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::map&lt;Key,T,Compare,Allocator&gt;::insert</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_insert skin-cppreference2 action-view 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>insert</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">
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td>
<div><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-pair.html"><span class="kw1096">std::<span class="me2">pair</span></span></a><span class="sy1">&lt;</span>iterator,<span class="kw4">bool</span><span class="sy1">&gt;</span> insert<span class="br0">(</span> <span class="kw4">const</span> value_type<span class="sy3">&amp;</span> value <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(1)</td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1">&lt;</span> <span class="kw1">class</span> P <span class="sy1">&gt;</span><br />
<a href="cpp-utility-pair.html"><span class="kw1096">std::<span class="me2">pair</span></span></a><span class="sy1">&lt;</span>iterator,<span class="kw4">bool</span><span class="sy1">&gt;</span> insert<span class="br0">(</span> P<span class="sy3">&amp;&amp;</span> value <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(2)</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-pair.html"><span class="kw1096">std::<span class="me2">pair</span></span></a><span class="sy1">&lt;</span>iterator,<span class="kw4">bool</span><span class="sy1">&gt;</span> insert<span class="br0">(</span> value_type<span class="sy3">&amp;&amp;</span> value <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(3)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num">
<tr class="t-dcl-rev-aux">
<td></td>
<td rowspan="142">(4)</td>
<td></td>
</tr>
<tr class="t-dcl t-until-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator insert<span class="br0">(</span> iterator hint, <span class="kw4">const</span> value_type<span class="sy3">&amp;</span> value <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 insert<span class="br0">(</span> const_iterator hint, <span class="kw4">const</span> value_type<span class="sy3">&amp;</span> value <span class="br0">)</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"><span class="kw1">template</span><span class="sy1">&lt;</span> <span class="kw1">class</span> P <span class="sy1">&gt;</span><br />
iterator insert<span class="br0">(</span> const_iterator hint, P<span class="sy3">&amp;&amp;</span> value <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(5)</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator insert<span class="br0">(</span> const_iterator hint, value_type<span class="sy3">&amp;&amp;</span> value <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(6)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1">&lt;</span> <span class="kw1">class</span> InputIt <span class="sy1">&gt;</span><br />
<span class="kw4">void</span> insert<span class="br0">(</span> InputIt first, InputIt last <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(7)</td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl t-since-cxx11">
<td>
<div><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span> insert<span class="br0">(</span> <a href="cpp-utility-initializer_list.html"><span class="kw960">std::<span class="me2">initializer_list</span></span></a><span class="sy1">&lt;</span>value_type<span class="sy1">&gt;</span> ilist <span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(8)</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">insert_return_type insert<span class="br0">(</span>node_type<span class="sy3">&amp;&amp;</span> nh<span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(9)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td>
<div><span class="mw-geshi cpp source-cpp">iterator insert<span class="br0">(</span>const_iterator hint, node_type<span class="sy3">&amp;&amp;</span> nh<span class="br0">)</span><span class="sy4">;</span></span></div>
</td>
<td>(10)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#33509;&#23481;&#22120;&#23578;&#26410;&#21547;&#26377;&#24102;&#31561;&#20215;&#20851;&#38190;&#30340;&#20803;&#32032;&#65292;&#21017;&#25554;&#20837;&#20803;&#32032;&#21040;&#23481;&#22120;&#20013;&#12290;</p>
<div class="t-li1"><span class="t-li">1-3)</span> &#25554;&#20837; <code>value</code> &#12290;&#37325;&#36733; <span class="t-v">(2)</span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">emplace<span class="br0">(</span><a href="cpp-utility-forward.html"><span class="kw1117">std::<span class="me2">forward</span></span></a><span class="sy1">&lt;</span>P<span class="sy1">&gt;</span><span class="br0">(</span>value<span class="br0">)</span><span class="br0">)</span></span></span> &#65292;&#19988;&#20165;&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-types-is_constructible.html"><span class="kw520">std::<span class="me2">is_constructible</span></span></a><span class="sy1">&lt;</span>value_type, P<span class="sy3">&amp;&amp;</span><span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value</span> <span class="sy1">==</span> <span class="kw2">true</span></span></span> &#25165;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#12290;</div>
<div class="t-li1"><span class="t-li">4-6)</span> &#25554;&#20837; <code>value</code> &#21040;&#23613;&#21487;&#33021;&#25509;&#36817;&#65292;&#24688;&#22909;&#21069;&#20110;<span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span> <code>hint</code> &#30340;&#20301;&#32622;&#12290;&#37325;&#36733; <span class="t-v">(4)</span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">emplace_hint<span class="br0">(</span>hint, <a href="cpp-utility-forward.html"><span class="kw1117">std::<span class="me2">forward</span></span></a><span class="sy1">&lt;</span>P<span class="sy1">&gt;</span><span class="br0">(</span>value<span class="br0">)</span><span class="br0">)</span></span></span> &#65292;&#19988;&#20165;&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-types-is_constructible.html"><span class="kw520">std::<span class="me2">is_constructible</span></span></a><span class="sy1">&lt;</span>value_type, P<span class="sy3">&amp;&amp;</span><span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value</span> <span class="sy1">==</span> <span class="kw2">true</span></span></span> &#25165;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#12290;</div>
<div class="t-li1"><span class="t-li">7)</span> &#25554;&#20837;&#26469;&#33258;&#33539;&#22260; <code>[first, last)</code> &#30340;&#20803;&#32032;&#12290;&#33509;&#33539;&#22260;&#20013;&#30340;&#22810;&#20010;&#20803;&#32032;&#25317;&#26377;&#27604;&#36739;&#31561;&#20215;&#30340;&#20851;&#38190;&#65292;&#21017;&#25554;&#20837;&#21738;&#20010;&#20803;&#32032;&#26159;&#26410;&#25351;&#23450;&#30340;&#65288;&#24453;&#20915;&#30340; <a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue2844">LWG2844</a> &#65289;&#12290;</div>
<div class="t-li1"><span class="t-li">8)</span> &#25554;&#20837;&#26469;&#33258; initializer_list <code>ilist</code> &#30340;&#20803;&#32032;&#12290;&#33509;&#33539;&#22260;&#20013;&#30340;&#22810;&#20010;&#20803;&#32032;&#25317;&#26377;&#27604;&#36739;&#31561;&#20215;&#30340;&#20851;&#38190;&#65292;&#21017;&#25554;&#20837;&#21738;&#20010;&#20803;&#32032;&#26159;&#26410;&#25351;&#23450;&#30340;&#65288;&#24453;&#20915;&#30340; <a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue2844">LWG2844</a> &#65289;&#12290;</div>
<div class="t-li1"><span class="t-li">9)</span> &#33509; <code>nh</code> &#26159;&#31354;&#30340;<a href="cpp-container-node_handle.html">&#32467;&#28857;&#25226;&#26564;</a>&#65292;&#21017;&#19981;&#20570;&#20219;&#20309;&#20107;&#12290;&#21542;&#21017;&#25554;&#20837; <code>nh</code> &#25152;&#21344;&#26377;&#30340;&#20803;&#32032;&#21040;&#23481;&#22120;&#65292;&#33509;&#23481;&#22120;&#23578;&#26410;&#21547;&#26377;&#25317;&#26377;&#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">nh.<span class="me1">key</span><span class="br0">(</span><span class="br0">)</span></span></span> &#30340;&#20851;&#38190;&#30340;&#20803;&#32032;&#12290;&#33509; <code>nh</code> &#38750;&#31354;&#19988; <span class="t-c"><span class="mw-geshi cpp source-cpp">get_allocator<span class="br0">(</span><span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> nh.<span class="me1">get_allocator</span><span class="br0">(</span><span class="br0">)</span></span></span> &#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</div>
<div class="t-li1"><span class="t-li">10)</span> &#33509; <code>nh</code> &#26159;&#31354;&#30340;<a href="cpp-container-node_handle.html">&#32467;&#28857;&#25226;&#26564;</a>&#65292;&#21017;&#19981;&#20570;&#20219;&#20309;&#20107;&#24182;&#36820;&#22238;&#23614;&#36845;&#20195;&#22120;&#12290;&#21542;&#21017;&#65292;&#25554;&#20837; <code>nh</code> &#25152;&#21344;&#26377;&#30340;&#20803;&#32032;&#21040;&#23481;&#22120;&#65292;&#33509;&#23481;&#22120;&#23578;&#26410;&#21547;&#26377;&#25317;&#26377;&#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">nh.<span class="me1">key</span><span class="br0">(</span><span class="br0">)</span></span></span> &#30340;&#20851;&#38190;&#30340;&#20803;&#32032;&#65292;&#24182;&#36820;&#22238;&#25351;&#21521;&#25317;&#26377;&#31561;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">nh.<span class="me1">key</span><span class="br0">(</span><span class="br0">)</span></span></span> &#30340;&#20851;&#38190;&#30340;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#65288;&#26080;&#20851;&#20046;&#25554;&#20837;&#25104;&#21151;&#36824;&#26159;&#22833;&#36133;&#65289;&#12290;&#33509;&#25554;&#20837;&#25104;&#21151;&#65292;&#21017;&#20174; <code>nh</code> &#31227;&#21160;&#65292;&#21542;&#21017;&#23427;&#20445;&#25345;&#35813;&#20803;&#32032;&#30340;&#25152;&#26377;&#26435;&#12290;&#20803;&#32032;&#34987;&#25554;&#20837;&#21040;&#23613;&#21487;&#33021;&#25509;&#36817;&#27491;&#22909;&#20808;&#20110; <code>hint</code> &#30340;&#20301;&#32622;&#12290;&#33509; <code>nh</code> &#38750;&#31354;&#19988; <span class="t-c"><span class="mw-geshi cpp source-cpp">get_allocator<span class="br0">(</span><span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> nh.<span class="me1">get_allocator</span><span class="br0">(</span><span class="br0">)</span></span></span> &#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</div>
<p>&#27809;&#26377;&#36845;&#20195;&#22120;&#25110;&#24341;&#29992;&#34987;&#38750;&#27861;&#21270;&#12290;<span class="t-rev-inl t-since-cxx17"><span>&#33509;&#25554;&#20837;&#25104;&#21151;&#65292;&#21017;&#22312;&#32467;&#28857;&#25226;&#26564;&#20445;&#26377;&#20803;&#32032;&#26102;&#33719;&#24471;&#30340;&#25351;&#21521;&#35813;&#20803;&#32032;&#30340;&#25351;&#38024;&#21644;&#24341;&#29992;&#34987;&#38750;&#27861;&#21270;&#65292;&#32780;&#22312;&#25552;&#21462;&#21069;&#33719;&#24471;&#30340;&#25351;&#21521;&#20803;&#32032;&#30340;&#25351;&#38024;&#21644;&#24341;&#29992;&#21464;&#24471;&#21512;&#27861;&#12290;</span> <span><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></span></span></p>
<h3><span class="mw-headline" id=".E5.8F.82.E6.95.B0">&#21442;&#25968;</span></h3>
<table class="t-par-begin">
<tr class="t-par">
<td>hint</td>
<td>-</td>
<td>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx11">
<td>
<p>&#29992;&#20316;&#25628;&#32034;&#24320;&#22987;&#20301;&#32622;&#30340;&#24314;&#35758;&#30340;&#36845;&#20195;&#22120;</p>
</td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx11">
<td>
<p>&#25351;&#21521;&#23558;&#25554;&#20837;&#26032;&#20803;&#32032;&#21040;&#20854;&#21069;&#30340;&#20301;&#32622;&#30340;&#36845;&#20195;&#22120;</p>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
</td>
</tr>
<tr class="t-par">
<td>value</td>
<td>-</td>
<td>&#35201;&#25554;&#20837;&#30340;&#20540;</td>
</tr>
<tr class="t-par">
<td>first, last</td>
<td>-</td>
<td>&#35201;&#25554;&#20837;&#30340;&#20803;&#32032;&#33539;&#22260;</td>
</tr>
<tr class="t-par">
<td>ilist</td>
<td>-</td>
<td>&#25554;&#20837;&#20540;&#26469;&#28304;&#30340; initializer_list</td>
</tr>
<tr class="t-par">
<td>nh</td>
<td>-</td>
<td>&#20860;&#23481;&#30340;<a href="cpp-container-node_handle.html">&#32467;&#28857;&#25226;&#26564;</a></td>
</tr>
<tr class="t-par-hitem">
<td colspan="3">&#31867;&#22411;&#35201;&#27714;</td>
</tr>
<tr class="t-par-req">
<td colspan="3">-
<div class="spacer"></div>
<code>InputIt</code> &#24517;&#39035;&#28385;&#36275;<a href="cpp-named_req-InputIterator.html"><span style="font-style:italic">&#32769;&#24335;&#36755;&#20837;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyInputIterator)</span></a> &#30340;&#35201;&#27714;&#12290;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.BF.94.E5.9B.9E.E5.80.BC">&#36820;&#22238;&#20540;</span></h3>
<div class="t-li1"><span class="t-li">1-3)</span> &#36820;&#22238;&#30001;&#25351;&#21521;&#34987;&#25554;&#20837;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#65288;&#25110;&#38459;&#27490;&#25554;&#20837;&#30340;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#65289;&#21644;&#25351;&#20195;&#25554;&#20837;&#26159;&#21542;&#21457;&#29983;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#32452;&#25104;&#30340; pair &#12290;</div>
<div class="t-li1"><span class="t-li">4-6)</span> &#36820;&#22238;&#25351;&#21521;&#34987;&#25554;&#20837;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#65292;&#25110;&#25351;&#21521;&#38459;&#27490;&#25554;&#20837;&#30340;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#12290;</div>
<div class="t-li1"><span class="t-li">7-8)</span> &#65288;&#26080;&#65289;</div>
<div class="t-li1"><span class="t-li">9)</span> &#36820;&#22238; <code>insert_return_type</code> &#65292;&#20854;&#25104;&#21592;&#21021;&#22987;&#21270;&#22914;&#19979;&#65306;&#33509; <code>nh</code> &#20026;&#31354;&#65292;&#21017; <code>inserted</code> &#20026; <code>false</code> &#65292; <code>position</code> &#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">end<span class="br0">(</span><span class="br0">)</span></span></span> &#65292;&#32780; <code>node</code> &#20026;&#31354;&#12290;&#21542;&#21017;&#21457;&#29983;&#25554;&#20837;&#65292; <code>inserted</code> &#20026; <code>true</code> &#65292; <code>position</code> &#25351;&#21521;&#34987;&#25554;&#20837;&#20803;&#32032;&#65292;&#32780; <code>node</code> &#20026;&#31354;&#12290;&#33509;&#25554;&#20837;&#22833;&#36133;&#65292;&#21017; <code>inserted</code> &#20026; <code>false</code> &#65292; <code>node</code> &#25317;&#26377; <code>nh</code> &#30340;&#20808;&#21069;&#20540;&#65292;&#32780; <code>position</code> &#25351;&#21521;&#25317;&#26377;&#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">nh.<span class="me1">key</span><span class="br0">(</span><span class="br0">)</span></span></span> &#30340;&#20851;&#38190;&#30340;&#20803;&#32032;&#12290;</div>
<div class="t-li1"><span class="t-li">10)</span> &#33509; <code>nh</code> &#20026;&#31354;&#21017;&#20026;&#23614;&#36845;&#20195;&#22120;&#65292;&#33509;&#25554;&#20837;&#21457;&#29983;&#21017;&#20026;&#25351;&#21521;&#34987;&#25554;&#20837;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#65292;&#32780;&#33509;&#25554;&#20837;&#22833;&#36133;&#21017;&#20026;&#25351;&#21521;&#25317;&#26377;&#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp">nh.<span class="me1">key</span><span class="br0">(</span><span class="br0">)</span></span></span> &#30340;&#20851;&#38190;&#30340;&#20803;&#32032;&#30340;&#36845;&#20195;&#22120;&#12290;</div>
<h3><span class="mw-headline" id=".E5.BC.82.E5.B8.B8">&#24322;&#24120;</span></h3>
<div class="t-li1"><span class="t-li">1-6)</span> &#33509;&#20219;&#20309;&#25805;&#20316;&#25243;&#20986;&#24322;&#24120;&#65292;&#21017;&#25554;&#20837;&#26080;&#25928;&#26524;&#65288;&#24378;&#24322;&#24120;&#20445;&#35777;&#65289;&#12290;</div>
<div class="t-li1"><span class="t-li">7-8)</span> &#33509;&#20219;&#20309;&#25805;&#20316;&#25243;&#20986;&#24322;&#24120;&#65292;&#21017;&#31243;&#24207;&#22312;&#21512;&#27861;&#29366;&#24577;&#65288;&#22522;&#30784;&#24322;&#24120;&#20445;&#35777;&#65289;&#12290;</div>
<div class="t-li1"><span class="t-li">9-10)</span> &#33509;&#20219;&#20309;&#25805;&#20316;&#25243;&#20986;&#24322;&#24120;&#65292;&#21017;&#25554;&#20837;&#26080;&#25928;&#26524;&#65292; nh &#20445;&#25345;&#19981;&#21464;&#65288;&#24378;&#24322;&#24120;&#20445;&#35777;&#65289;&#12290;</div>
<h3><span class="mw-headline" id=".E5.A4.8D.E6.9D.82.E5.BA.A6">&#22797;&#26434;&#24230;</span></h3>
<div class="t-li1"><span class="t-li">1-3)</span> &#19982;&#23481;&#22120;&#22823;&#23567;&#25104;&#23545;&#25968;&#65292; <code>O(log(size()))</code> &#12290;</div>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx11">
<td>
<div class="t-li1"><span class="t-li">4-6)</span> &#33509;&#25554;&#20837;&#24688;&#22909;&#21457;&#29983;&#22312; hint <i>&#21518;</i>&#30340;&#20301;&#32622;&#21017;&#20026;&#22343;&#25674;&#24120;&#25968;&#65292;&#21542;&#21017;&#19982;&#23481;&#22120;&#22823;&#23567;&#25104;&#23545;&#25968;&#12290;</div>
</td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx11">
<td>
<div class="t-li1"><span class="t-li">4-6)</span> &#33509;&#25554;&#20837;&#24688;&#22909;&#21457;&#29983;&#22312; hint <i>&#21069;</i>&#30340;&#20301;&#32622;&#21017;&#20026;&#22343;&#25674;&#24120;&#25968;&#65292;&#21542;&#21017;&#19982;&#23481;&#22120;&#22823;&#23567;&#25104;&#23545;&#25968;&#12290;</div>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">7-8)</span> <code>O(N*log(size() + N))</code> &#65292;&#20854;&#20013; N &#26159;&#35201;&#25554;&#20837;&#30340;&#20803;&#32032;&#25968;&#12290;</div>
<div class="t-li1"><span class="t-li">9)</span> &#19982;&#23481;&#22120;&#22823;&#23567;&#25104;&#23545;&#25968;&#65292; <code>O(log(size()))</code> &#12290;</div>
<div class="t-li1"><span class="t-li">10)</span> &#33509;&#25554;&#20837;&#24688;&#22909;&#21457;&#29983;&#22312; hint <i>&#21069;</i>&#30340;&#20301;&#32622;&#21017;&#20026;&#22343;&#25674;&#24120;&#25968;&#65292;&#21542;&#21017;&#19982;&#23481;&#22120;&#22823;&#23567;&#25104;&#23545;&#25968;&#12290;</div>
<p><br /></p>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>&#26377;&#25552;&#31034;&#25554;&#20837; <span class="t-v">(4-6)</span> &#19981;&#36820;&#22238; bool &#65292;&#36825;&#26159;&#20026;&#20102;&#19982;&#39034;&#24207;&#23481;&#22120;&#19978;&#30340;&#23450;&#20301;&#25554;&#20837;&#65292;&#22914; <span class="t-lc"><a href="cpp-container-vector-insert.html">std::vector::insert</a></span> &#31614;&#21517;&#20860;&#23481;&#12290;&#36825;&#20351;&#24471;&#21487;&#20197;&#21019;&#24314;&#27867;&#22411;&#25554;&#20837;&#22120;&#65292;&#20363;&#22914; <span class="t-lc"><a href="cpp-iterator-inserter.html">std::inserter</a></span> &#12290;&#26816;&#26597;&#26377;&#25552;&#31034;&#25554;&#20837;&#26159;&#21542;&#25104;&#21151;&#30340;&#19968;&#31181;&#26041;&#24335;&#26159;&#27604;&#36739;&#25554;&#20837;&#21069;&#21518;&#30340; <a href="cpp-container-map-size.html">size()</a> &#12290;</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;iomanip&gt;</span>
<span class="co2">#include &lt;iostream&gt;</span>
<span class="co2">#include &lt;map&gt;</span>
<span class="co2">#include &lt;string&gt;</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> std<span class="sy4">::</span><span class="me2">literals</span><span class="sy4">;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">typename</span> It<span class="sy1">&gt;</span>
<span class="kw4">void</span> printInsertionStatus<span class="br0">(</span>It it, <span class="kw4">bool</span> success<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> <span class="st0">&quot;Insertion of &quot;</span> <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="br0">(</span>success <span class="sy4">?</span> <span class="st0">&quot; succeeded<span class="es1">\n</span>&quot;</span> <span class="sy4">:</span> <span class="st0">&quot; failed<span class="es1">\n</span>&quot;</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</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><a href="cpp-string-basic_string.html"><span class="kw1230">std::<span class="me2">string</span></span></a>, <span class="kw4">float</span><span class="sy1">&gt;</span> karasunoPlayerHeights<span class="sy4">;</span>
<span class="co1">// &#37325;&#36733; 3 &#65306;&#20174;&#21491;&#20540;&#24341;&#29992;&#25554;&#20837;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>it_hinata, success<span class="br0">]</span> <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span><span class="br0">{</span><span class="st0">&quot;Hinata&quot;</span>s, <span class="nu16">162.8</span><span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it_hinata, success<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 1 &#65306;&#20174;&#24038;&#20540;&#24341;&#29992;&#25554;&#20837;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>it, success2<span class="br0">]</span> <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span><span class="sy2">*</span>it_hinata<span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, success2<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 2 &#65306;&#32463;&#30001;&#36716;&#21457;&#21040; emplace &#25554;&#20837;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>it, success<span class="br0">]</span> <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span><span class="br0">{</span><span class="st0">&quot;Kageyama&quot;</span>, <span class="nu16">180.6</span><span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, success<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 6 &#65306;&#24102;&#20301;&#32622;&#25552;&#31034;&#20174;&#21491;&#20540;&#24341;&#29992;&#25554;&#20837;</span>
<span class="kw4">const</span> <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> it <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span>it_hinata, <span class="br0">{</span><span class="st0">&quot;Azumane&quot;</span>s, <span class="nu16">184.7</span><span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> n<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 4 &#65306;&#24102;&#20301;&#32622;&#25552;&#31034;&#20174;&#24038;&#20540;&#24341;&#29992;&#25554;&#20837;</span>
<span class="kw4">const</span> <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> it <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span>it_hinata, <span class="sy2">*</span>it_hinata<span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> n<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 5 &#65306;&#24102;&#20301;&#32622;&#25552;&#31034;&#32463;&#30001;&#36716;&#21457;&#21040; emplace &#25554;&#20837;</span>
<span class="kw4">const</span> <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> it <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">insert</span><span class="br0">(</span>it_hinata, <span class="br0">{</span><span class="st0">&quot;Tsukishima&quot;</span>, <span class="nu16">188.3</span><span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> n<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw4">auto</span> node_hinata <span class="sy1">=</span> karasunoPlayerHeights.<span class="me1">extract</span><span class="br0">(</span>it_hinata<span class="br0">)</span><span class="sy4">;</span>
<a href="cpp-container-map.html"><span class="kw1281">std::<span class="me2">map</span></span></a><span class="sy1">&lt;</span><a href="cpp-string-basic_string.html"><span class="kw1230">std::<span class="me2">string</span></span></a>, <span class="kw4">float</span><span class="sy1">&gt;</span> playerHeights<span class="sy4">;</span>
<span class="co1">// &#37325;&#36733; 7 &#65306;&#20174;&#33539;&#22260;&#25554;&#20837;</span>
playerHeights.<span class="me1">insert</span><span class="br0">(</span><a href="cpp-iterator-begin.html"><span class="kw676">std::<span class="me2">begin</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span>, <a href="cpp-iterator-end.html"><span class="kw680">std::<span class="me2">end</span></span></a><span class="br0">(</span>karasunoPlayerHeights<span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#37325;&#36733; 8 &#65306;&#20174; initializer_list &#25554;&#20837;</span>
playerHeights.<span class="me1">insert</span><span class="br0">(</span><span class="br0">{</span><span class="br0">{</span><span class="st0">&quot;Kozume&quot;</span>s, <span class="nu16">169.2</span><span class="br0">}</span>, <span class="br0">{</span><span class="st0">&quot;Kuroo&quot;</span>, <span class="nu16">187.7</span><span class="br0">}</span><span class="br0">}</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// &#37325;&#36733; 9 &#65306;&#25554;&#20837;&#32467;&#28857;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> status <span class="sy1">=</span> playerHeights.<span class="me1">insert</span><span class="br0">(</span>std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>node_hinata<span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>status.<span class="me1">position</span>, status.<span class="me1">inserted</span><span class="br0">)</span><span class="sy4">;</span>
node_hinata <span class="sy1">=</span> playerHeights.<span class="me1">extract</span><span class="br0">(</span>status.<span class="me1">position</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">{</span>
<span class="co1">// &#37325;&#36733; 10 &#65306;&#25554;&#20837;&#32467;&#28857;&#24102;&#20301;&#32622;&#25552;&#31034;</span>
<span class="kw4">const</span> <a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a> n <span class="sy1">=</span> <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>playerHeights<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> it <span class="sy1">=</span> playerHeights.<span class="me1">insert</span><span class="br0">(</span><a href="cpp-iterator-begin.html"><span class="kw676">std::<span class="me2">begin</span></span></a><span class="br0">(</span>playerHeights<span class="br0">)</span>, std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>node_hinata<span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
printInsertionStatus<span class="br0">(</span>it, <a href="cpp-iterator-size.html"><span class="kw684">std::<span class="me2">size</span></span></a><span class="br0">(</span>playerHeights<span class="br0">)</span> <span class="sy3">!</span><span class="sy1">=</span> n<span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="co1">// &#25171;&#21360;&#32467;&#26524; map</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-left.html"><span class="kw1779">std::<span class="me2">left</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="kw1">for</span> <span class="br0">(</span><span class="kw4">const</span> <span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>name, height<span class="br0">]</span> <span class="sy4">:</span> playerHeights<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> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">10</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> name <span class="sy1">&lt;&lt;</span> <span class="st0">&quot; | &quot;</span> <span class="sy1">&lt;&lt;</span> height <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;cm<span class="es1">\n</span>&quot;</span><span class="sy4">;</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">Insertion of Hinata succeeded
Insertion of Hinata failed
Insertion of Kageyama succeeded
Insertion of Azumane succeeded
Insertion of Hinata failed
Insertion of Tsukishima succeeded
Insertion of Hinata succeeded
Insertion of Hinata succeeded
Azumane | 184.7cm
Hinata | 162.8cm
Kageyama | 180.6cm
Kozume | 169.2cm
Kuroo | 187.7cm
Tsukishima | 188.3cm</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-emplace.html"><span class="t-lines"><span>emplace</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>&#21407;&#20301;&#26500;&#36896;&#20803;&#32032;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-container-map-emplace_hint.html"><span class="t-lines"><span>emplace_hint</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>&#20351;&#29992;&#25552;&#31034;&#21407;&#20301;&#26500;&#36896;&#20803;&#32032;<br />
<span class="t-mark">(&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-container-map-insert_or_assign.html"><span class="t-lines"><span>insert_or_assign</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div>
</td>
<td>&#25554;&#20837;&#20803;&#32032;&#65292;&#25110;&#33509;&#38190;&#24050;&#23384;&#22312;&#21017;&#36171;&#20540;&#32473;&#24403;&#21069;&#20803;&#32032;<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>