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

277 lines
41 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>&#32467;&#26500;&#21270;&#32465;&#23450;&#22768;&#26126; (C++17 &#36215;)</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_language_structured_binding skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#32467;&#26500;&#21270;&#32465;&#23450;&#22768;&#26126; <span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-language.html">language</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#32465;&#23450;&#25351;&#23450;&#21517;&#31216;&#21040;&#21021;&#22987;&#21270;&#22120;&#30340;&#23376;&#23545;&#35937;&#25110;&#20803;&#32032;&#12290;</p>
<p>&#31867;&#20284;&#24341;&#29992;&#65292;&#32467;&#26500;&#21270;&#32465;&#23450;&#26159;&#26082;&#23384;&#23545;&#35937;&#30340;&#21035;&#21517;&#12290;&#19981;&#21516;&#20110;&#24341;&#29992;&#30340;&#26159;&#65292;&#32467;&#26500;&#21270;&#32465;&#23450;&#30340;&#31867;&#22411;&#19981;&#24517;&#20026;&#24341;&#29992;&#31867;&#22411;&#12290;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">cv-auto</span> <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span><span class="t-mark">(&#21487;&#36873;)</span> <code><b>[</b></code> <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> <code><b>]</b></code> <code><b>=</b></code> <span class="t-spar">&#34920;&#36798;&#24335;</span> <code><b>;</b></code></td>
<td>(1)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">cv-auto</span> <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span><span class="t-mark">(&#21487;&#36873;)</span> <code><b>[</b></code> <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> <code><b>]</b></code> <code><b>{</b></code> <span class="t-spar">&#34920;&#36798;&#24335;</span> <code><b>}</b></code> <code><b>;</b></code></td>
<td>(2)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">cv-auto</span> <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span><span class="t-mark">(&#21487;&#36873;)</span> <code><b>[</b></code> <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> <code><b>]</b></code> <code><b>(</b></code> <span class="t-spar">&#34920;&#36798;&#24335;</span> <code><b>)</b></code> <code><b>;</b></code></td>
<td>(3)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<table class="t-par-begin">
<tr class="t-par">
<td><span class="t-spar">&#23646;&#24615;</span></td>
<td>-</td>
<td>&#20219;&#24847;&#25968;&#37327;&#30340;<a href="cpp-language-attributes.html">&#23646;&#24615;</a>&#30340;&#24207;&#21015;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">cv-auto</span></td>
<td>-</td>
<td>&#21487;&#26377; cv &#38480;&#23450;&#30340; <code><b>auto</b></code> &#31867;&#22411;&#35828;&#26126;&#31526;<span class="t-rev-inl t-since-cxx20"><span>&#65292;&#20063;&#21487;&#20197;&#21253;&#21547;<a href="cpp-language-storage_duration.html">&#23384;&#20648;&#31867;&#35828;&#26126;&#31526;</a> <code><b>static</b></code> &#25110; <code><b>thread_local</b></code> &#65307;&#22312; cv &#38480;&#23450;&#31526;&#20013;&#21253;&#21547; <code><b>volatile</b></code> &#26159;&#34987;&#24323;&#29992;&#30340;</span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span></td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span></td>
<td>-</td>
<td><code><b>&amp;</b></code> &#25110; <code><b>&amp;&amp;</b></code> &#20043;&#19968;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span></td>
<td>-</td>
<td>&#27492;&#22768;&#26126;&#25152;&#24341;&#20837;&#30340;&#21508;&#26631;&#35782;&#31526;&#30340;&#36887;&#21495;&#20998;&#38548;&#30340;&#21015;&#34920;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#34920;&#36798;&#24335;</span></td>
<td>-</td>
<td>&#39030;&#23618;&#27809;&#26377;&#36887;&#21495;&#36816;&#31639;&#31526;&#30340;&#34920;&#36798;&#24335;&#65288;&#25991;&#27861;&#19978;&#20026;<i>&#36171;&#20540;&#34920;&#36798;&#24335;</i>&#65289;&#65292;&#19988;&#20855;&#26377;&#25968;&#32452;&#25110;&#38750;&#32852;&#21512;&#31867;&#20043;&#19968;&#30340;&#31867;&#22411;&#12290;&#22914;&#26524; <span class="t-spar">&#34920;&#36798;&#24335;</span> &#28041;&#21450;&#20219;&#20309;&#26469;&#33258; <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> &#30340;&#21517;&#23383;&#65292;&#21017;&#22768;&#26126;&#38750;&#33391;&#26500;&#12290;</td>
</tr>
</table>
<p>&#32467;&#26500;&#21270;&#32465;&#23450;&#22768;&#26126;&#23558; <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> &#20013;&#30340;&#25152;&#26377;&#26631;&#35782;&#31526;&#24341;&#20837;&#20316;&#20026;&#20854;&#22806;&#22260;&#20316;&#29992;&#22495;&#20013;&#30340;&#21517;&#23383;&#65292;&#24182;&#23558;&#23427;&#20204;&#32465;&#23450;&#21040; <span class="t-spar">&#34920;&#36798;&#24335;</span> &#25152;&#25351;&#20195;&#30340;&#23545;&#35937;&#30340;&#21508;&#20010;&#23376;&#23545;&#35937;&#25110;&#20803;&#32032;&#12290;&#20197;&#27492;&#26041;&#24335;&#24341;&#20837;&#30340;&#32465;&#23450;&#34987;&#31216;&#20316;<i>&#32467;&#26500;&#21270;&#32465;&#23450;</i>&#12290;</p>
<p>&#32467;&#26500;&#21270;&#32465;&#23450;&#22768;&#26126;&#39318;&#20808;&#24341;&#20837;&#19968;&#20010;&#21807;&#19968;&#21629;&#21517;&#30340;&#21464;&#37327;&#65288;&#27492;&#22788;&#20197; <code><b><i>e</i></b></code> &#25351;&#20195;&#65289;&#26469;&#20445;&#26377;&#20854;&#21021;&#22987;&#21270;&#22120;&#30340;&#20540;&#65292;&#26041;&#24335;&#22914;&#19979;&#65306;</p>
<ul>
<li>&#22914;&#26524; <span class="t-spar">&#34920;&#36798;&#24335;</span> &#20855;&#26377;&#25968;&#32452;&#31867;&#22411; <code>A</code> &#19988;&#19981;&#23384;&#22312; <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span>&#65292;&#21017; <code><b><i>e</i></b></code> &#20855;&#26377;&#31867;&#22411; <i>cv</i> <code>A</code>&#65292;&#20854;&#20013; <i>cv</i> &#26159; <span class="t-spar">cv-auto</span> &#24207;&#21015;&#20013;&#30340; cv &#38480;&#23450;&#31526;&#65292;&#19988; <code><b><i>e</i></b></code> &#20013;&#30340;&#21508;&#20010;&#20803;&#32032;&#20174; <span class="t-spar">&#34920;&#36798;&#24335;</span> &#30340;&#23545;&#24212;&#20803;&#32032;&#36827;&#34892;&#22797;&#21046;&#65288;&#23545;&#20110; <span class="t-v">(1)</span>&#65289;&#25110;&#30452;&#25509;&#65288;&#23545;&#20110; <span class="t-v">(2,3)</span>&#65289;&#21021;&#22987;&#21270;&#12290;</li>
<li>&#21542;&#21017; <code><b><i>e</i></b></code> &#22914;&#21516;&#20110;&#22768;&#26126;&#20013;&#20197;&#20854;&#21517;&#21462;&#20195; <code><b>[</b></code> <span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> <code><b>]</b></code> &#19968;&#33324;&#23450;&#20041;&#12290;</li>
</ul>
<p>&#25105;&#20204;&#29992; <code><b><i>E</i></b></code> &#20195;&#34920;&#34920;&#36798;&#24335; <span class="t-c"><span class="mw-geshi cpp source-cpp">e</span></span> &#30340;&#31867;&#22411;&#12290;&#65288;&#25442;&#35328;&#20043;&#65292;<code><b><i>E</i></b></code> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-types-remove_reference.html"><span class="kw607">std::<span class="me2">remove_reference_t</span></span></a><span class="sy1">&lt;</span>decltype<span class="br0">(</span><span class="br0">(</span>e<span class="br0">)</span><span class="br0">)</span><span class="sy1">&gt;</span></span></span>&#65289;&#12290;</p>
<p>&#28982;&#21518;&#65292;&#32467;&#26500;&#21270;&#32465;&#23450;&#21487;&#20197;&#20197;&#19979;&#19977;&#31181;&#26041;&#24335;&#20043;&#19968;&#36827;&#34892;&#32465;&#23450;&#65292;&#21462;&#20915;&#20110; <code><b><i>E</i></b></code>&#65306;</p>
<ul>
<li>&#24773;&#20917; 1&#65306;&#22914;&#26524; <code><b><i>E</i></b></code> &#26159;&#25968;&#32452;&#31867;&#22411;&#65292;&#21017;&#32465;&#23450;&#21508;&#20010;&#21517;&#23383;&#21040;&#21508;&#20010;&#25968;&#32452;&#20803;&#32032;&#12290;</li>
<li>&#24773;&#20917; 2&#65306;&#22914;&#26524; <code><b><i>E</i></b></code> &#26159;&#38750;&#32852;&#21512;&#31867;&#31867;&#22411;&#19988; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_size.html"><span class="kw1101">std::<span class="me2">tuple_size</span></span></a><span class="sy1">&lt;</span>E<span class="sy1">&gt;</span></span></span> &#26159;&#23436;&#25972;&#31867;&#22411;&#24182;&#25317;&#26377;&#21517;&#20026; <code>value</code> &#30340;&#25104;&#21592;&#65288;&#26080;&#20851;&#20046;&#36825;&#31181;&#25104;&#21592;&#30340;&#31867;&#22411;&#25110;&#21487;&#35775;&#38382;&#24615;&#65289;&#65292;&#21017;&#20351;&#29992;&ldquo;&#20803;&#32452;&#24335;&rdquo;&#32465;&#23450;&#21327;&#35758;&#12290;</li>
<li>&#24773;&#20917; 3&#65306;&#22914;&#26524; <code><b><i>E</i></b></code> &#26159;&#38750;&#32852;&#21512;&#31867;&#31867;&#22411;&#20294; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_size.html"><span class="kw1101">std::<span class="me2">tuple_size</span></span></a><span class="sy1">&lt;</span>E<span class="sy1">&gt;</span></span></span> &#19981;&#26159;&#23436;&#25972;&#31867;&#22411;&#65292;&#21017;&#32465;&#23450;&#21508;&#20010;&#21517;&#23383;&#21040; <code><b><i>E</i></b></code> &#30340;&#21508;&#20010;&#21487;&#35775;&#38382;&#25968;&#25454;&#25104;&#21592;&#12290;</li>
</ul>
<p>&#19979;&#25991;&#23545;&#27599;&#31181;&#24773;&#20917;&#37117;&#26377;&#26356;&#35814;&#32454;&#30340;&#25551;&#36848;&#12290;</p>
<p>&#27599;&#20010;&#32467;&#26500;&#21270;&#32465;&#23450;&#37117;&#26377;&#19968;&#20010;<i>&#34987;&#24341;&#29992;&#31867;&#22411;</i>&#65292;&#23427;&#20250;&#22312;&#21518;&#25991;&#30340;&#25551;&#36848;&#20013;&#34987;&#23450;&#20041;&#12290;&#27492;&#31867;&#22411;&#26159;&#23545;&#26080;&#25324;&#21495;&#30340;&#32467;&#26500;&#21270;&#32465;&#23450;&#24212;&#29992; <a href="cpp-language-decltype.html"><code>decltype</code></a> &#25152;&#36820;&#22238;&#30340;&#31867;&#22411;&#12290;</p>
<h4><span class="mw-headline" id=".E6.83.85.E5.86.B5_1.EF.BC.9A.E7.BB.91.E5.AE.9A.E6.95.B0.E7.BB.84">&#24773;&#20917; 1&#65306;&#32465;&#23450;&#25968;&#32452;</span></h4>
<p><span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> &#20013;&#30340;&#27599;&#20010;&#26631;&#35782;&#31526;&#22343;&#25104;&#20026;&#25351;&#20195;&#25968;&#32452;&#30340;&#23545;&#24212;&#20803;&#32032;&#30340;&#24038;&#20540;&#12290;&#26631;&#35782;&#31526;&#30340;&#25968;&#37327;&#24517;&#39035;&#31561;&#20110;&#25968;&#32452;&#30340;&#20803;&#32032;&#25968;&#37327;&#12290;</p>
<p>&#27599;&#20010;&#26631;&#35782;&#31526;&#30340;<i>&#34987;&#24341;&#29992;&#31867;&#22411;</i>&#37117;&#26159;&#25968;&#32452;&#30340;&#20803;&#32032;&#31867;&#22411;&#12290;&#25968;&#32452;&#31867;&#22411; <code><b><i>E</i></b></code> &#30340; cv &#38480;&#23450;&#24615;&#19982;&#20854;&#20803;&#32032;&#30340;&#30456;&#21516;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">int</span> a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span><span class="nu0">1</span>,<span class="nu0">2</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">auto</span> <span class="br0">[</span>x,y<span class="br0">]</span> <span class="sy1">=</span> a<span class="sy4">;</span> <span class="co1">// &#21019;&#24314; e[2]&#65292;&#22797;&#21046; a &#21040; e&#65292;&#28982;&#21518; x &#25351;&#20195; e[0]&#65292;y &#25351;&#20195; e[1]</span>
<span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>xr, yr<span class="br0">]</span> <span class="sy1">=</span> a<span class="sy4">;</span> <span class="co1">// xr &#25351;&#20195; a[0]&#65292;yr &#25351;&#20195; a[1]</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E6.83.85.E5.86.B5_2.EF.BC.9A.E7.BB.91.E5.AE.9A.E5.85.83.E7.BB.84.E5.BC.8F.E7.B1.BB.E5.9E.8B">&#24773;&#20917; 2&#65306;&#32465;&#23450;&#20803;&#32452;&#24335;&#31867;&#22411;</span></h4>
<p>&#34920;&#36798;&#24335; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_size.html"><span class="kw1101">std::<span class="me2">tuple_size</span></span></a><span class="sy1">&lt;</span>E<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value</span></span></span> &#24517;&#39035;&#26159;&#33391;&#26500;&#30340;&#25972;&#25968;&#24120;&#37327;&#34920;&#36798;&#24335;&#65292;&#19988;&#26631;&#35782;&#31526;&#30340;&#25968;&#37327;&#24517;&#39035;&#31561;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_size.html"><span class="kw1101">std::<span class="me2">tuple_size</span></span></a><span class="sy1">&lt;</span>E<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">value</span></span></span>&#12290;</p>
<p>&#23545;&#20110;&#27599;&#20010;&#26631;&#35782;&#31526;&#65292;&#24341;&#20837;&#19968;&#20010;&#31867;&#22411;&#20026;&ldquo;<span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_element.html"><span class="kw1099">std::<span class="me2">tuple_element</span></span></a><span class="sy1">&lt;</span>i, E<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">type</span></span></span> &#30340;&#24341;&#29992;&rdquo;&#30340;&#21464;&#37327;&#65306;&#22914;&#26524;&#23427;&#23545;&#24212;&#30340;&#21021;&#22987;&#21270;&#22120;&#26159;&#24038;&#20540;&#65292;&#37027;&#20040;&#23427;&#26159;&#24038;&#20540;&#24341;&#29992;&#65292;&#21542;&#21017;&#23427;&#26159;&#21491;&#20540;&#24341;&#29992;&#12290;&#31532; i &#20010;&#21464;&#37327;&#30340;&#21021;&#22987;&#21270;&#22120;</p>
<ul>
<li>&#22914;&#26524;&#22312; <code><b><i>E</i></b></code> &#30340;&#20316;&#29992;&#22495;&#20013;&#23545;&#26631;&#35782;&#31526; <code>get</code> &#25353;&#31867;&#25104;&#21592;&#35775;&#38382;&#36827;&#34892;&#30340;&#26597;&#25214;&#20013;&#65292;&#33267;&#23569;&#25214;&#21040;&#19968;&#20010;&#22768;&#26126;&#26159;&#39318;&#20010;&#27169;&#26495;&#24418;&#21442;&#20026;&#38750;&#31867;&#22411;&#24418;&#21442;&#30340;&#20989;&#25968;&#27169;&#26495;&#65292;&#21017;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">e.<span class="me1">get</span><span class="sy1">&lt;</span>i<span class="sy1">&gt;</span><span class="br0">(</span><span class="br0">)</span></span></span></li>
<li>&#21542;&#21017;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">get<span class="sy1">&lt;</span>i<span class="sy1">&gt;</span><span class="br0">(</span>e<span class="br0">)</span></span></span>&#65292;&#20854;&#20013; <span class="t-c"><span class="mw-geshi cpp source-cpp">get</span></span> &#21482;&#36827;&#34892;<a href="cpp-language-adl.html">&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;</a>&#65292;&#24573;&#30053;&#20854;&#20182;&#26597;&#25214;&#12290;</li>
</ul>
<p>&#36825;&#20123;&#21021;&#22987;&#21270;&#22120;&#34920;&#36798;&#24335;&#20013;&#65292;&#22914;&#26524;&#23454;&#20307; <code><b><i>e</i></b></code> &#30340;&#31867;&#22411;&#26159;&#24038;&#20540;&#24341;&#29992;&#65288;&#21482;&#20250;&#22312; <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span> &#26159; <code><b>&amp;</b></code>&#65292;&#25110;&#23427;&#26159; <code><b>&amp;&amp;</b></code> &#19988;&#21021;&#22987;&#21270;&#22120;&#26159;&#24038;&#20540;&#26102;&#21457;&#29983;&#65289;&#65292;&#37027;&#20040; <span class="t-c"><span class="mw-geshi cpp source-cpp">e</span></span> &#20026;&#24038;&#20540;&#65292;&#21542;&#21017;&#23427;&#26159;&#20129;&#20540;&#65288;&#36825;&#23454;&#38469;&#19978;&#36827;&#34892;&#20102;&#19968;&#31181;&#23436;&#32654;&#36716;&#21457;&#65289;&#65292;<span class="t-c"><span class="mw-geshi cpp source-cpp">i</span></span> &#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-types-size_t.html"><span class="kw100">std::<span class="me2">size_t</span></span></a></span></span> &#30340;&#32431;&#21491;&#20540;&#65292;&#32780;&#19988;&#22987;&#32456;&#23558; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy1">&lt;</span>i<span class="sy1">&gt;</span></span></span> &#35299;&#37322;&#20026;&#27169;&#26495;&#24418;&#21442;&#21015;&#34920;&#12290;</p>
<p>&#35813;&#21464;&#37327;&#25317;&#26377;&#19982; <code><b><i>e</i></b></code> &#30456;&#21516;&#30340;<a href="cpp-language-storage_duration.html">&#23384;&#20648;&#26399;</a>&#12290;</p>
<p>&#28982;&#21518;&#35813;&#26631;&#35782;&#31526;&#21464;&#25104;&#25351;&#20195;&#19982;&#19978;&#36848;&#21464;&#37327;&#32465;&#23450;&#30340;&#23545;&#35937;&#30340;&#24038;&#20540;&#12290;</p>
<p>&#31532; i &#20010;&#26631;&#35782;&#31526;&#30340;<i>&#34987;&#24341;&#29992;&#31867;&#22411;</i>&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_element.html"><span class="kw1099">std::<span class="me2">tuple_element</span></span></a><span class="sy1">&lt;</span>i, E<span class="sy1">&gt;</span><span class="sy4">::</span><span class="me2">type</span></span></span>&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">float</span> x<span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">char</span> y<span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> z<span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span>
<a href="cpp-utility-tuple.html"><span class="kw1098">std::<span class="me2">tuple</span></span></a><span class="sy1">&lt;</span><span class="kw4">float</span><span class="sy3">&amp;</span>,<span class="kw4">char</span><span class="sy3">&amp;&amp;</span>,<span class="kw4">int</span><span class="sy1">&gt;</span> tpl<span class="br0">(</span>x,std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>y<span class="br0">)</span>,z<span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>a,b,c<span class="br0">]</span> <span class="sy1">=</span> tpl<span class="sy4">;</span>
<span class="co1">// a &#25351;&#21517;&#25351;&#20195; x &#30340;&#32467;&#26500;&#21270;&#32465;&#23450;&#65307;decltype(a) &#20026; float&amp;</span>
<span class="co1">// b &#25351;&#21517;&#25351;&#20195; y &#30340;&#32467;&#26500;&#21270;&#32465;&#23450;&#65307;decltype(b) &#20026; char&amp;&amp;</span>
<span class="co1">// c &#25351;&#21517;&#25351;&#20195; tpl &#30340;&#31532; 3 &#20803;&#32032;&#30340;&#32467;&#26500;&#21270;&#32465;&#23450;&#65307;decltype(c) &#20026; const int</span></pre></div>
</div>
<h4><span class="mw-headline" id=".E6.83.85.E5.86.B5_3.EF.BC.9A.E7.BB.91.E5.AE.9A.E5.88.B0.E6.95.B0.E6.8D.AE.E6.88.90.E5.91.98">&#24773;&#20917; 3&#65306;&#32465;&#23450;&#21040;&#25968;&#25454;&#25104;&#21592;</span></h4>
<p><code><b><i>E</i></b></code> &#30340;&#25152;&#26377;&#38750;&#38745;&#24577;&#25968;&#25454;&#25104;&#21592;&#24517;&#39035;&#37117;&#26159; <code><b><i>E</i></b></code> &#25110; <code><b><i>E</i></b></code> &#30340;&#21516;&#19968;&#22522;&#31867;&#30340;&#30452;&#25509;&#25104;&#21592;&#65292;&#24517;&#39035;&#22312;&#25351;&#21517;&#20026; <code><i><b>e</b></i>.<i>name</i></code> &#26102;&#20110;&#32467;&#26500;&#21270;&#32465;&#23450;&#30340;&#35821;&#22659;&#20013;&#26159;&#33391;&#26500;&#30340;&#12290;<code><b><i>E</i></b></code> &#19981;&#33021;&#26377;&#21311;&#21517;&#32852;&#21512;&#20307;&#25104;&#21592;&#12290;&#26631;&#35782;&#31526;&#30340;&#25968;&#37327;&#24517;&#39035;&#31561;&#20110;&#38750;&#38745;&#24577;&#25968;&#25454;&#25104;&#21592;&#30340;&#25968;&#37327;&#12290;</p>
<p><span class="t-spar">&#26631;&#35782;&#31526;&#21015;&#34920;</span> &#20013;&#30340;&#21508;&#20010;&#26631;&#35782;&#31526;&#65292;&#25353;&#22768;&#26126;&#39034;&#24207;&#20381;&#27425;&#25104;&#20026;&#25351;&#20195; <code><b><i>e</i></b></code> &#30340;&#21508;&#20010;&#25104;&#21592;&#30340;&#24038;&#20540;&#30340;&#21517;&#23383;&#65288;&#25903;&#25345;&#20301;&#22495;&#65289;&#65307;&#35813;&#24038;&#20540;&#30340;&#31867;&#22411;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp">e.<span class="me1">m_i</span></span></span> &#30340;&#31867;&#22411;&#65292;&#20854;&#20013; <code>m_i</code> &#25351;&#20195;&#31532; i &#20010;&#25104;&#21592;&#12290;</p>
<p>&#31532; i &#20010;&#26631;&#35782;&#31526;&#30340;<i>&#34987;&#24341;&#29992;&#31867;&#22411;</i>&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp">e.<span class="me1">m_i</span></span></span> &#65292;&#22914;&#26524;&#23427;&#19981;&#26159;&#24341;&#29992;&#31867;&#22411;&#65307;&#21542;&#21017;&#26159; <code>m_i</code> &#30340;&#22768;&#26126;&#31867;&#22411;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">struct</span> S <span class="br0">{</span>
mutable <span class="kw4">int</span> x1 <span class="sy4">:</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">volatile</span> <span class="kw4">double</span> y1<span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
S f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>x, y<span class="br0">]</span> <span class="sy1">=</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// x &#26159;&#26631;&#35782; 2 &#20301;&#20301;&#22495;&#30340; int &#24038;&#20540;</span>
<span class="co1">// y &#26159; const volatile double &#24038;&#20540;</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>&#23545;&#25104;&#21592; <code>get</code> &#30340;&#26597;&#25214;&#29031;&#24120;&#24573;&#30053;&#21487;&#35775;&#38382;&#24615;&#65292;&#21516;&#26102;&#20063;&#24573;&#30053;&#38750;&#31867;&#22411;&#27169;&#26495;&#24418;&#21442;&#30340;&#30830;&#20999;&#31867;&#22411;&#12290;&#20986;&#29616;&#31169;&#26377;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw4">char</span><span class="sy2">*</span><span class="sy1">&gt;</span> <span class="kw4">void</span> get<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span></span></span> &#25104;&#21592;&#23558;&#23548;&#33268;&#20351;&#29992;&#25104;&#21592;&#35299;&#37322;&#26041;&#26696;&#65292;&#21363;&#20351;&#36825;&#20250;&#23548;&#33268;&#31243;&#24207;&#38750;&#33391;&#26500;&#12290;</p>
<p>&#22768;&#26126;&#20013; <code><b>[</b></code> &#20043;&#21069;&#30340;&#37096;&#20998;&#24212;&#29992;&#20110;&#38544;&#34255;&#21464;&#37327; <code><b><i>e</i></b></code>&#65292;&#32780;&#38750;&#24341;&#20837;&#30340;&#21508;&#20010;&#26631;&#35782;&#31526;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">int</span> a <span class="sy1">=</span> <span class="nu0">1</span>, b <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>x, y<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-utility-tuple-tie.html"><span class="kw1113">std::<span class="me2">tie</span></span></a><span class="br0">(</span>a, b<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// x &#19982; y &#31867;&#22411;&#20026; int&amp;</span>
<span class="kw4">auto</span> <span class="br0">[</span>z, w<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-utility-tuple-tie.html"><span class="kw1113">std::<span class="me2">tie</span></span></a><span class="br0">(</span>a, b<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// z &#19982; w &#31867;&#22411;&#20173;&#20026; int&amp;</span>
<a href="cpp-error-assert.html"><span class="kw774">assert</span></a><span class="br0">(</span><span class="sy3">&amp;</span>z <span class="sy1">==</span> <span class="sy3">&amp;</span>a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#36890;&#36807;</span></pre></div>
</div>
<p>&#22914;&#26524; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_size.html"><span class="kw1101">std::<span class="me2">tuple_size</span></span></a><span class="sy1">&lt;</span>E<span class="sy1">&gt;</span></span></span> &#26159;&#23436;&#25972;&#31867;&#22411;&#65292;&#37027;&#20040;&#22987;&#32456;&#20351;&#29992;&#20803;&#32452;&#24335;&#35299;&#37322;&#26041;&#26696;&#65292;&#21363;&#20351;&#36825;&#20250;&#23548;&#33268;&#31243;&#24207;&#38750;&#33391;&#26500;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">struct</span> A <span class="br0">{</span> <span class="kw4">int</span> x<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;&gt;</span> <span class="kw1">struct</span> tuple_size<span class="sy1">&lt;</span><span class="sy4">::</span><span class="me2">A</span><span class="sy1">&gt;</span> <span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw4">auto</span> <span class="br0">[</span>x<span class="br0">]</span> <span class="sy1">=</span> A<span class="br0">{</span><span class="br0">}</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65307;&#19981;&#32771;&#34385;&ldquo;&#25968;&#25454;&#25104;&#21592;&rdquo;&#35299;&#37322;&#26041;&#26696;&#12290;</span></pre></div>
</div>
<p>&#22914;&#26524;&#23384;&#22312; <span class="t-spar">&#24341;&#29992;&#36816;&#31639;&#31526;</span> &#19988; <span class="t-spar">&#34920;&#36798;&#24335;</span> &#20026;&#32431;&#21491;&#20540;&#65292;&#21017;&#24212;&#29992;&#23558;&#24341;&#29992;&#32465;&#23450;&#21040;&#20020;&#26102;&#37327;&#30340;&#36890;&#24120;&#35268;&#21017;&#65288;&#21253;&#25324;&#29983;&#23384;&#26399;&#24310;&#32493;&#65289;&#12290;&#36825;&#20123;&#24773;&#20917;&#19979;&#65292;&#38544;&#34255;&#21464;&#37327; <code><b><i>e</i></b></code> &#26159;&#32465;&#23450;&#21040;&#20174;&#32431;&#21491;&#20540;&#34920;&#36798;&#24335;<a href="cpp-language-implicit_conversion.html#.E4.B8.B4.E6.97.B6.E9.87.8F.E5.AE.9E.E8.B4.A8.E5.8C.96">&#23454;&#36136;&#21270;</a>&#30340;&#20020;&#26102;&#21464;&#37327;&#65292;&#24182;&#24310;&#38271;&#20854;&#29983;&#23384;&#26399;&#30340;&#19968;&#20010;&#24341;&#29992;&#12290;&#19982;&#20043;&#21069;&#19968;&#26679;&#65292;&#22914;&#26524; <code><b><i>e</i></b></code> &#26159;&#38750; const &#24038;&#20540;&#24341;&#29992;&#65292;&#21017;&#32465;&#23450;&#22833;&#36133;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">int</span> a <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>x<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-utility-tuple-make_tuple.html"><span class="kw1112">std::<span class="me2">make_tuple</span></span></a><span class="br0">(</span>a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// OK&#65292;&#38750;&#24748;&#22402;&#24341;&#29992;</span>
<span class="kw4">auto</span><span class="sy3">&amp;</span> <span class="br0">[</span>y<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-utility-tuple-make_tuple.html"><span class="kw1112">std::<span class="me2">make_tuple</span></span></a><span class="br0">(</span>a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65292;&#19981;&#33021;&#32465;&#23450; auto&amp; &#21040;&#21491;&#20540; std::tuple</span>
<span class="kw4">auto</span><span class="sy3">&amp;&amp;</span> <span class="br0">[</span>z<span class="br0">]</span> <span class="sy1">=</span> <a href="cpp-utility-tuple-make_tuple.html"><span class="kw1112">std::<span class="me2">make_tuple</span></span></a><span class="br0">(</span>a<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#21516;&#26679; OK</span></pre></div>
</div>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp">decltype<span class="br0">(</span>x<span class="br0">)</span></span></span> &#25351;&#21517;&#32467;&#26500;&#21270;&#32465;&#23450;&#30340;<i>&#34987;&#24341;&#29992;&#31867;&#22411;</i>&#65292;&#20854;&#20013; <code>x</code> &#20195;&#34920;&#19968;&#20010;&#32467;&#26500;&#21270;&#32465;&#23450;&#12290;&#22312;&#20803;&#32452;&#24335;&#30340;&#24773;&#20917;&#19979;&#65292;&#23427;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-utility-tuple-tuple_element.html"><span class="kw1099">std::<span class="me2">tuple_element</span></span></a></span></span> &#25152;&#36820;&#22238;&#30340;&#31867;&#22411;&#65292;&#23427;&#21487;&#20197;&#19981;&#26159;&#24341;&#29992;&#65292;&#21363;&#20351;&#22312;&#27492;&#24773;&#20917;&#19979;&#22987;&#32456;&#20250;&#24341;&#20837;&#38544;&#34255;&#30340;&#24341;&#29992;&#12290;&#36825;&#30456;&#24403;&#20110;&#27169;&#25311;&#20102;&#32465;&#23450;&#21040;&#20854;&#21508;&#20010;&#38750;&#38745;&#24577;&#25968;&#25454;&#25104;&#21592;&#20855;&#26377; <code>tuple_element</code> &#25152;&#36820;&#22238;&#30340;&#31867;&#22411;&#30340;&#32467;&#26500;&#20307;&#30340;&#34892;&#20026;&#65292;&#32780;&#32465;&#23450;&#33258;&#36523;&#30340;&#24341;&#29992;&#24615;&#36136;&#21017;&#21482;&#26159;&#23454;&#29616;&#32454;&#33410;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><a href="cpp-utility-tuple.html"><span class="kw1098">std::<span class="me2">tuple</span></span></a><span class="sy1">&lt;</span><span class="kw4">int</span>, <span class="kw4">int</span><span class="sy3">&amp;</span><span class="sy1">&gt;</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">auto</span> <span class="br0">[</span>x, y<span class="br0">]</span> <span class="sy1">=</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// decltype(x) &#20026; int</span>
<span class="co1">// decltype(y) &#20026; int&amp;</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>z, w<span class="br0">]</span> <span class="sy1">=</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// decltype(z) &#20026; const int</span>
<span class="co1">// decltype(w) &#20026; int&amp;</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx20">
<td>
<p><a href="cpp-language-lambda.html">Lambda &#34920;&#36798;&#24335;</a>&#19981;&#33021;&#25429;&#33719;&#32467;&#26500;&#21270;&#32465;&#23450;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-cxx20">(C++20 &#21069;)</span></td>
</tr>
</table>
<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;set&gt;</span>
<span class="co2">#include &lt;string&gt;</span>
<span class="co2">#include &lt;iomanip&gt;</span>
<span class="co2">#include &lt;iostream&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<a href="cpp-container-set.html"><span class="kw1277">std::<span class="me2">set</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="sy1">&gt;</span> myset<span class="br0">{</span><span class="st0">&quot;hello&quot;</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">for</span> <span class="br0">(</span><span class="kw4">int</span> i<span class="br0">{</span><span class="nu0">2</span><span class="br0">}</span><span class="sy4">;</span> i<span class="sy4">;</span> <span class="sy2">--</span>i<span class="br0">)</span> <span class="br0">{</span>
<span class="kw1">if</span> <span class="br0">(</span><span class="kw4">auto</span> <span class="br0">[</span>iter, success<span class="br0">]</span> <span class="sy1">=</span> myset.<span class="me1">insert</span><span class="br0">(</span><span class="st0">&quot;Hello&quot;</span><span class="br0">)</span><span class="sy4">;</span> success<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;&#25554;&#20837;&#25104;&#21151;&#12290;&#20540;&#20026; &quot;</span> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-quoted.html"><span class="kw1802">std::<span class="me2">quoted</span></span></a><span class="br0">(</span><span class="sy2">*</span>iter<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#12290;<span class="es1">\n</span>&quot;</span><span class="sy4">;</span>
<span class="kw1">else</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;&#38598;&#21512;&#20013;&#24050;&#23384;&#22312;&#20540; &quot;</span> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-quoted.html"><span class="kw1802">std::<span class="me2">quoted</span></span></a><span class="br0">(</span><span class="sy2">*</span>iter<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#12290;<span class="es1">\n</span>&quot;</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">struct</span> BitFields <span class="br0">{</span>
<span class="kw4">int</span> b <span class="sy4">:</span> <span class="nu0">4</span> <span class="br0">{</span><span class="nu0">1</span><span class="br0">}</span>, d <span class="sy4">:</span> <span class="nu0">4</span> <span class="br0">{</span><span class="nu0">2</span><span class="br0">}</span>, p <span class="sy4">:</span> <span class="nu0">4</span> <span class="br0">{</span><span class="nu0">3</span><span class="br0">}</span>, q <span class="sy4">:</span> <span class="nu0">4</span> <span class="br0">{</span><span class="nu0">4</span><span class="br0">}</span><span class="sy4">;</span>
<span class="co1">// C++20 &#65306;&#20301;&#22495;&#30340;&#40664;&#35748;&#25104;&#21592;&#21021;&#22987;&#21270;&#22120;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">{</span>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>b, d, p, q<span class="br0">]</span> <span class="sy1">=</span> BitFields<span class="br0">{</span><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> b <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> d <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> p <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> q <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>
<span class="kw4">const</span> <span class="kw4">auto</span> <span class="br0">[</span>b, d, p, q<span class="br0">]</span> <span class="sy1">=</span> <span class="br0">[</span><span class="br0">]</span><span class="br0">{</span> <span class="kw1">return</span> BitFields<span class="br0">{</span><span class="nu0">4</span>, <span class="nu0">3</span>, <span class="nu0">2</span>, <span class="nu0">1</span><span class="br0">}</span><span class="sy4">;</span> <span class="br0">}</span><span class="br0">(</span><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> b <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> d <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> p <span class="sy1">&lt;&lt;</span> <span class="st0">&#39; &#39;</span> <span class="sy1">&lt;&lt;</span> q <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">&#25554;&#20837;&#25104;&#21151;&#12290;&#20540;&#20026; &quot;Hello&quot;&#12290;
&#38598;&#21512;&#20013;&#24050;&#23384;&#22312;&#20540; &quot;Hello&quot;&#12290;
1 2 3 4
4 3 2 1</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E7.BC.BA.E9.99.B7.E6.8A.A5.E5.91.8A">&#32570;&#38519;&#25253;&#21578;</span></h3>
<p>&#19979;&#21015;&#26356;&#25913;&#34892;&#20026;&#30340;&#32570;&#38519;&#25253;&#21578;&#36861;&#28335;&#22320;&#24212;&#29992;&#20110;&#20197;&#21069;&#20986;&#29256;&#30340; C++ &#26631;&#20934;&#12290;</p>
<table class="dsctable" style="font-size:0.8em">
<tr>
<th>DR</th>
<th>&#24212;&#29992;&#20110;</th>
<th>&#20986;&#29256;&#26102;&#30340;&#34892;&#20026;</th>
<th>&#27491;&#30830;&#34892;&#20026;</th>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.link/P0961R1">P0961R1</a></td>
<td>C++17</td>
<td>&#20803;&#32452;&#24335;&#24773;&#20917;&#20013;&#65292;&#22914;&#26524;&#26597;&#25214;&#25214;&#21040;&#20219;&#20309;&#31867;&#22411;&#30340; <code>get</code> &#21017;&#20351;&#29992;&#25104;&#21592; <code>get</code></td>
<td>&#20165;&#24403;&#26597;&#25214;&#25214;&#21040;&#25317;&#26377;&#38750;&#31867;&#22411;&#27169;&#26495;&#24418;&#21442;&#30340;&#20989;&#25968;&#27169;&#26495;&#25165;&#20351;&#29992;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.link/P0969R0">P0969R0</a></td>
<td>C++17</td>
<td>&#32465;&#23450;&#21040;&#25104;&#21592;&#24773;&#20917;&#20013;&#65292;&#35201;&#27714;&#36825;&#20123;&#25104;&#21592;&#20844;&#24320;</td>
<td>&#21482;&#38656;&#35201;&#22312;&#22768;&#26126;&#30340;&#35821;&#22659;&#20013;&#21487;&#35775;&#38382;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue2312">CWG 2312</a></td>
<td>C++17</td>
<td><code>mutable</code> &#30340;&#21547;&#20041;&#22312;&#32465;&#23450;&#21040;&#25104;&#21592;&#24773;&#20917;&#20013;&#20002;&#22833;</td>
<td>&#20445;&#25345;&#20854;&#21547;&#20041;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue2386">CWG 2386</a></td>
<td>C++17</td>
<td>&#24635;&#26159;&#22312; <code>tuple_size&lt;E&gt;</code> &#20026;&#23436;&#25972;&#31867;&#22411;&#26102;&#20351;&#29992;&ldquo;&#20803;&#32452;&#24335;&rdquo;&#32465;&#23450;&#21327;&#35758;</td>
<td>&#21482;&#20250;&#22312; <code>tuple_size&lt;E&gt;</code> &#25317;&#26377;&#25104;&#21592; <code>value</code> &#26102;&#25165;&#20351;&#29992;</td>
</tr>
</table>
<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-utility-tuple-tie.html"><span class="t-lines"><span>tie</span></span></a></div>
</div>
</td>
<td>&#21019;&#24314;&#24038;&#20540;&#24341;&#29992;&#30340; <code>tuple</code>&#65292;&#25110;&#23558; tuple &#35299;&#21253;&#20026;&#29420;&#31435;&#23545;&#35937;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>