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

117 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>C++ &#20855;&#21517;&#35201;&#27714;&#65306;&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120; (LegacyOutputIterator)</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_named_req_OutputIterator 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%">C++ &#20855;&#21517;&#35201;&#27714;&#65306;</span><span style="font-style:italic">&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyOutputIterator)</span></h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-named_req.html">named req</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p><strong class="selflink"><span style="font-style:italic">&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyOutputIterator)</span></strong> &#26159;&#33021;&#20889;&#20837;&#25152;&#25351;&#21521;&#20803;&#32032;&#30340;<a href="cpp-named_req-Iterator.html"><span style="font-style:italic">&#32769;&#24335;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyIterator)</span></a> &#12290;</p>
<p>&#19968;&#20010;&#23454;&#29616;<strong class="selflink"><span style="font-style:italic">&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyOutputIterator)</span></strong> &#30340;&#31867;&#22411;&#30340;&#20363;&#23376;&#26159; <a href="cpp-iterator-ostream_iterator.html"><tt>std::ostream_iterator</tt></a>&#12290;</p>
<p>&#24403;<a href="cpp-named_req-ForwardIterator.html"><span style="font-style:italic">&#32769;&#24335;&#21521;&#21069;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyForwardIterator)</span></a> &#12289;<a href="cpp-named_req-BidirectionalIterator.html"><span style="font-style:italic">&#32769;&#24335;&#21452;&#21521;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyBidirectionalIterator)</span></a> &#25110;<a href="cpp-named_req-RandomAccessIterator.html"><span style="font-style:italic">&#32769;&#24335;&#38543;&#26426;&#35775;&#38382;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyRandomAccessIterator)</span></a> &#22312;&#33258;&#36523;&#30340;&#35201;&#27714;&#20043;&#22806;&#36824;&#28385;&#36275;<strong class="selflink"><span style="font-style:italic">&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyOutputIterator)</span></strong> &#30340;&#35201;&#27714;&#26102;&#65292;&#23427;&#21363;&#34987;&#25551;&#36848;&#20026;<b>&#21487;&#21464;&#30340;&#65288;mutable&#65289;</b>&#12290;</p>
<h3><span class="mw-headline" id=".E8.A6.81.E6.B1.82">&#35201;&#27714;</span></h3>
<p>&#20197;&#19979;&#24773;&#20917;&#19979;&#65292;&#31867;&#22411; <code>X</code> &#28385;&#36275;<strong class="selflink"><span style="font-style:italic">&#32769;&#24335;&#36755;&#20986;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyOutputIterator)</span></strong></p>
<ul>
<li>&#31867;&#22411; <code>X</code> &#28385;&#36275;<a href="cpp-named_req-Iterator.html"><span style="font-style:italic">&#32769;&#24335;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyIterator)</span></a></li>
<li><code>X</code> &#26159;&#31867;&#31867;&#22411;&#25110;&#25351;&#38024;&#31867;&#22411;</li>
</ul>
<p>&#19988;&#65292;&#32473;&#23450;</p>
<ul>
<li><code>o</code>&#65292;&#26159;&#36755;&#20986;&#36845;&#20195;&#22120;&#23545;&#24212;&#30340;&#21487;&#20889;&#20837;&#31867;&#22411;&#30340;&#20540;&#65288;&#21487;&#20197;&#26377;&#22810;&#31181;&#21487;&#20889;&#20837;&#30340;&#31867;&#22411;&#65292;&#20363;&#22914; <code>operator=</code> &#26159;&#27169;&#26495;&#30340;&#24773;&#20917;&#12290;&#24182;&#27809;&#26377;&#20687;&#36755;&#20837;&#36845;&#20195;&#22120;&#30340; <code>value_type</code> &#37027;&#31181;&#35760;&#21495;&#65289;</li>
<li><code>r</code>&#65292;&#20026; <code>X</code> &#31867;&#22411;&#30340;&#24038;&#20540;&#65292;</li>
</ul>
<p>&#21017;&#19979;&#21015;&#34920;&#36798;&#24335;&#24517;&#39035;&#21512;&#27861;&#19988;&#25317;&#26377;&#20854;&#25351;&#23450;&#30340;&#25928;&#26524;</p>
<table class="wikitable">
<tr>
<th>&#34920;&#36798;&#24335;</th>
<th>&#36820;&#22238;</th>
<th>&#31561;&#20215;&#34920;&#36798;&#24335;</th>
<th>&#21069;&#26465;&#20214;</th>
<th>&#21518;&#26465;&#20214;</th>
<th>&#27880;&#35299;</th>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">*</span>r <span class="sy1">=</span> o</span></span></td>
<td>&#65288;&#19981;&#20351;&#29992;&#65289;</td>
<td></td>
<td><code>r</code> &#21487;&#35299;&#24341;&#29992;</td>
<td><code>r</code> &#21487;&#33258;&#22686;</td>
<td>&#22312;&#27492;&#25805;&#20316;&#21518;&#19981;&#35201;&#27714; <code>r</code> &#21487;&#35299;&#24341;&#29992;&#65292;&#19988;&#19981;&#20877;&#35201;&#27714;&#20219;&#20309; <code>r</code> &#30340;&#20808;&#21069;&#20540;&#30340;&#21103;&#26412;&#21487;&#35299;&#24341;&#29992;&#25110;&#21487;&#33258;&#22686;&#12290;</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">++</span>r</span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy3">&amp;</span></span></span></td>
<td></td>
<td><code>r</code> &#21487;&#33258;&#22686;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">r</span></span> &#19982; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">++</span>r</span></span> &#25351;&#20195;&#21516;&#19968;&#36845;&#20195;&#22120;&#23545;&#35937;&#65292;<code>r</code> &#21487;&#35299;&#24341;&#29992;&#25110;&#20026;&#26411;&#23614;&#21518;&#36845;&#20195;&#22120;</td>
<td>&#22312;&#27492;&#25805;&#20316;&#21518;&#19981;&#35201;&#27714; <code>r</code> &#21487;&#33258;&#22686;&#65292;&#19988;&#19981;&#20877;&#35201;&#27714;&#20219;&#20309; <code>r</code> &#30340;&#20808;&#21069;&#20540;&#30340;&#21103;&#26412;&#21487;&#35299;&#24341;&#29992;&#25110;&#21487;&#33258;&#22686;&#12290;</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">r<span class="sy2">++</span></span></span></td>
<td>&#21487;&#36716;&#25442;&#21040; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span> X<span class="sy3">&amp;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X temp <span class="sy1">=</span> r<span class="sy4">;</span><br /></span></span>
<p><span class="sy2">++</span>r<span class="sy4">;</span><br />
<span class="kw1">return</span> temp<span class="sy4">;</span></p>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">*</span>r<span class="sy2">++</span> <span class="sy1">=</span> o</span></span></td>
<td>&#65288;&#19981;&#20351;&#29992;&#65289;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">*</span>r <span class="sy1">=</span> o<span class="sy4">;</span><br /></span></span>
<p><span class="sy2">++</span>r<span class="sy4">;</span></p>
</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p><code>operator*</code> &#23545;&#20110;&#36755;&#20986;&#36845;&#20195;&#22120;&#30340;&#20165;&#26377;&#30340;&#21512;&#27861;&#29992;&#27861;&#26159;&#22312;&#36171;&#20540;&#30340;&#24038;&#20391;&#65306;<code>operator*</code> &#21487;&#20197;&#36820;&#22238;&#19968;&#20010;&#20195;&#29702;&#23545;&#35937;&#65292;&#23427;&#23450;&#20041;&#20102;&#25104;&#21592; <code>operator=</code>&#65288;&#21487;&#20197;&#26159;&#27169;&#26495;&#65289;</p>
<p>&#21487;&#20197;&#19981;&#23545;&#36755;&#20986;&#36845;&#20195;&#22120;&#23450;&#20041;&#30456;&#31561;&#21644;&#19981;&#30456;&#31561;&#12290;&#21363;&#20351;&#23450;&#20041;&#20102; <code>operator==</code>&#65292;<code>x == y</code> &#20063;&#19981;&#38656;&#35201;&#38544;&#21547; <code>++x == ++y</code>&#12290;</p>
<p>&#36890;&#36807;&#36755;&#20986;&#36845;&#20195;&#22120;&#30340;&#21516;&#19968;&#20540;&#36827;&#34892;&#30340;&#36171;&#20540;&#21482;&#20250;&#21457;&#29983;&#19968;&#27425;&#65306;&#36755;&#20986;&#36845;&#20195;&#22120;&#19978;&#30340;&#31639;&#27861;&#24517;&#39035;&#26159;&#21333;&#36255;&#31639;&#27861;&#12290;</p>
<p>&#39044;&#26399;&#36890;&#36807;&#36755;&#20986;&#36845;&#20195;&#22120;&#30340;&#36171;&#20540;&#19982;&#33258;&#22686;&#20132;&#26367;&#36827;&#34892;&#12290;&#21452;&#37325;&#33258;&#22686;&#26159;&#26410;&#23450;&#20041;&#34892;&#20026;&#65288;C++ &#26631;&#20934;&#24403;&#21069;&#22768;&#31216;&#21452;&#37325;&#33258;&#22686;&#24471;&#21040;&#25903;&#25345;&#65292;&#36825;&#19982; STL &#25991;&#26723;&#30456;&#21453;&#65307;&#27492;&#20026; <a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue2035">LWG2035</a>&#65289;</p>
<p>&#20801;&#35768;&#32431;&#31929;&#20165;&#25903;&#25345;&#36755;&#20986;&#30340;&#36845;&#20195;&#22120;&#22768;&#26126;&#20854; <code>iterator_traits&lt;X&gt;::value_type</code>&#12289;<code>iterator_traits&lt;X&gt;::difference_type</code>&#12289;<code>iterator_traits&lt;X&gt;::pointer</code> &#19982; <code>iterator_traits&lt;X&gt;::reference</code> &#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span></span></span>&#65288;&#22914; <span class="t-lc"><a href="cpp-iterator-back_insert_iterator.html">std::back_insert_iterator</a></span> &#36825;&#26679;&#30340;&#36845;&#20195;&#22120;&#27491;&#22914;&#27492;&#65289;&#12290;</p>
<h3><span class="mw-headline" id=".E6.A0.87.E5.87.86.E5.BA.93">&#26631;&#20934;&#24211;</span></h3>
<p>&#19979;&#21015;&#30340;&#26631;&#20934;&#24211;&#36845;&#20195;&#22120;&#26159;&#36755;&#20986;&#36845;&#20195;&#22120;&#32780;&#38750;&#21521;&#21069;&#36845;&#20195;&#22120;&#65306;</p>
<ul>
<li><span class="t-lc"><a href="cpp-iterator-ostream_iterator.html">std::ostream_iterator</a></span></li>
<li><span class="t-lc"><a href="cpp-iterator-ostreambuf_iterator.html">std::ostreambuf_iterator</a></span></li>
<li><span class="t-lc"><a href="cpp-iterator-insert_iterator.html">std::insert_iterator</a></span></li>
<li><span class="t-lc"><a href="cpp-iterator-back_insert_iterator.html">std::back_insert_iterator</a></span></li>
<li><span class="t-lc"><a href="cpp-iterator-front_insert_iterator.html">std::front_insert_iterator</a></span></li>
</ul>
<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-iterator-output_iterator.html"><span class="t-lines"><span>output_iterator</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
</div>
</td>
<td>&#25351;&#23450;&#31867;&#22411;&#20026;&#32473;&#23450;&#30340;&#20540;&#31867;&#22411;&#30340;&#36755;&#20986;&#36845;&#20195;&#22120;&#65292;&#21363;&#21487;&#21521;&#20854;&#20889;&#20837;&#35813;&#31867;&#22411;&#30340;&#20540;&#65292;&#19988;&#21487;&#21069;/&#21518;&#33258;&#22686;<br />
<span class="t-mark">(&#27010;&#24565;)</span></td>
</tr>
<tr class="t-dsc">
<td><a href="cpp-iterator.html"><b>&#36845;&#20195;&#22120;&#24211;</b></a></td>
<td>&#25552;&#20379;&#36845;&#20195;&#22120;&#30340;&#23450;&#20041;&#12289;&#36845;&#20195;&#22120;&#34920;&#24449;&#12289;&#36866;&#37197;&#22120;&#21450;&#24037;&#20855;&#20989;&#25968;</td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>