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

522 lines
78 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>&#38544;&#24335;&#36716;&#25442;</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_implicit_conversion skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#38544;&#24335;&#36716;&#25442;</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>&#20961;&#26159;&#22312;&#35821;&#22659;&#20013;&#20351;&#29992;&#20102;&#26576;&#31181;&#34920;&#36798;&#24335;&#31867;&#22411; <code>T1</code>&#65292;&#20294;&#35821;&#22659;&#19981;&#25509;&#21463;&#35813;&#31867;&#22411;&#65292;&#32780;&#25509;&#21463;&#21478;&#19968;&#31867;&#22411; <code>T2</code> &#30340;&#26102;&#20505;&#65292;&#20250;&#36827;&#34892;&#38544;&#24335;&#36716;&#25442;&#65292;&#20855;&#20307;&#26159;&#65306;</p>
<ul>
<li>&#35843;&#29992;&#20197; <code>T2</code> &#20026;&#24418;&#21442;&#22768;&#26126;&#30340;&#20989;&#25968;&#26102;&#65292;&#20197;&#35813;&#34920;&#36798;&#24335;&#20026;&#23454;&#21442;&#65307;</li>
<li>&#36816;&#31639;&#31526;&#26399;&#24453; <code>T2</code>&#65292;&#32780;&#20197;&#35813;&#34920;&#36798;&#24335;&#20026;&#25805;&#20316;&#25968;&#65307;</li>
<li>&#21021;&#22987;&#21270; <code>T2</code> &#31867;&#22411;&#30340;&#26032;&#23545;&#35937;&#65292;&#21253;&#25324;&#22312;&#36820;&#22238; <code>T2</code> &#30340;&#20989;&#25968;&#20013;&#30340; <code>return</code> &#35821;&#21477;&#65307;</li>
<li>&#23558;&#34920;&#36798;&#24335;&#29992;&#20110; <code>switch</code> &#35821;&#21477;&#65288;<code>T2</code> &#20026;&#25972;&#22411;&#31867;&#22411;&#65289;&#65307;</li>
<li>&#23558;&#34920;&#36798;&#24335;&#29992;&#20110; <code>if</code> &#35821;&#21477;&#25110;&#24490;&#29615;&#65288;<code>T2</code> &#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65289;&#12290;</li>
</ul>
<p>&#20165;&#24403;&#23384;&#22312;&#19968;&#20010;&#20174; <code>T1</code> &#21040; <code>T2</code> &#30340;&#26080;&#27495;&#20041;<i>&#38544;&#24335;&#36716;&#25442;&#24207;&#21015;</i>&#26102;&#65292;&#31243;&#24207;&#33391;&#26500;&#65288;&#33021;&#32534;&#35793;&#65289;&#12290;</p>
<p>&#22914;&#26524;&#25152;&#35843;&#29992;&#30340;&#20989;&#25968;&#25110;&#36816;&#31639;&#31526;&#23384;&#22312;&#22810;&#20010;&#37325;&#36733;&#65292;&#21017;&#23558; <code>T1</code> &#21040;&#27599;&#20010;&#21487;&#29992;&#30340; <code>T2</code> &#37117;&#26500;&#36896;&#38544;&#24335;&#36716;&#21270;&#24207;&#21015;&#20043;&#21518;&#65292;&#20197;<a href="cpp-language-overload_resolution.html">&#37325;&#36733;&#20915;&#35758;</a>&#35268;&#21017;&#20915;&#23450;&#32534;&#35793;&#21738;&#20010;&#37325;&#36733;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#31639;&#26415;&#34920;&#36798;&#24335;&#20013;&#65292;&#38024;&#23545;&#20108;&#20803;&#36816;&#31639;&#31526;&#30340;&#25805;&#20316;&#25968;&#19978;&#30340;&#38544;&#24335;&#36716;&#25442;&#30340;&#30446;&#26631;&#31867;&#22411;&#65292;&#26159;&#20197;&#19968;&#32452;&#21333;&#29420;&#30340;<a href="cpp-language-operator_arithmetic.html#.E8.BD.AC.E6.8D.A2"><i>&#36890;&#24120;&#31639;&#26415;&#36716;&#25442;</i></a>&#30340;&#35268;&#21017;&#25152;&#20915;&#23450;&#30340;&#12290;</p>
<h3><span class="mw-headline" id=".E8.BD.AC.E6.8D.A2.E9.A1.BA.E5.BA.8F">&#36716;&#25442;&#39034;&#24207;</span></h3>
<p>&#38544;&#24335;&#36716;&#25442;&#24207;&#21015;&#30001;&#19979;&#21015;&#20869;&#23481;&#20381;&#29031;&#36825;&#20010;&#39034;&#24207;&#25152;&#26500;&#25104;&#65306;</p>
<div class="t-li1"><span class="t-li">1)</span> &#38646;&#25110;&#19968;&#20010;<i>&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;</i>&#65307;</div>
<div class="t-li1"><span class="t-li">2)</span> &#38646;&#25110;&#19968;&#20010;<i>&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;</i>&#65307;</div>
<div class="t-li1"><span class="t-li">3)</span> &#38646;&#25110;&#19968;&#20010;<i>&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;</i>&#12290;</div>
<p>&#24403;&#32771;&#34385;&#26500;&#36896;&#20989;&#25968;&#25110;&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#20989;&#25968;&#30340;&#23454;&#21442;&#26102;&#65292;&#21482;&#20801;&#35768;&#19968;&#20010;&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;&#65288;&#21542;&#21017;&#23558;&#23454;&#38469;&#19978;&#21487;&#20197;&#23558;&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#20018;&#36830;&#36215;&#26469;&#65289;&#12290;&#20174;&#19968;&#20010;&#38750;&#31867;&#31867;&#22411;&#36716;&#25442;&#21040;&#21478;&#19968;&#38750;&#31867;&#31867;&#22411;&#26102;&#65292;&#21482;&#20801;&#35768;&#19968;&#20010;&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;&#12290;</p>
<p>&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;&#30001;&#19979;&#21015;&#20869;&#23481;&#20381;&#29031;&#36825;&#20010;&#39034;&#24207;&#25152;&#26500;&#25104;&#65306;</p>
<div class="t-li1"><span class="t-li">1)</span> &#38646;&#25110;&#19968;&#20010;&#26469;&#33258;&#19979;&#21015;&#38598;&#21512;&#32773;&#65306;<i>&#24038;&#20540;&#21040;&#21491;&#20540;&#36716;&#25442;</i>&#12289;<i>&#25968;&#32452;&#21040;&#25351;&#38024;&#36716;&#25442;</i>&#21450;<i>&#20989;&#25968;&#21040;&#25351;&#38024;</i>&#36716;&#25442;&#65307;</div>
<div class="t-li1"><span class="t-li">2)</span> &#38646;&#25110;&#19968;&#20010;<i>&#25968;&#20540;&#25552;&#21319;</i>&#25110;<i>&#25968;&#20540;&#36716;&#25442;</i>&#65307;</div>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx17">
<td>
<div class="t-li1"><span class="t-li">3)</span> &#38646;&#25110;&#19968;&#20010;<i>&#20989;&#25968;&#25351;&#38024;&#36716;&#25442;</i>&#65307;</div>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">4)</span> &#38646;&#25110;&#19968;&#20010;<i>&#38480;&#23450;&#36716;&#25442;</i>&#12290;</div>
<p>&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#30001;&#38646;&#25110;&#19968;&#20010;&#38750; explicit &#21333;&#23454;&#21442;<a href="cpp-language-converting_constructor.html">&#36716;&#25442;&#26500;&#36896;&#20989;&#25968;</a>&#25110;&#38750; explicit <a href="cpp-language-cast_operator.html">&#36716;&#25442;&#20989;&#25968;</a>&#30340;&#35843;&#29992;&#26500;&#25104;&#12290;</p>
<p>&#24403;&#19988;&#20165;&#24403; <code>T2</code> &#33021;&#20174;&#34920;&#36798;&#24335; <code>e</code> <a href="cpp-language-copy_initialization.html">&#22797;&#21046;&#21021;&#22987;&#21270;</a>&#65292;&#21363;&#23545;&#20110;&#34394;&#35774;&#30340;&#20020;&#26102;&#23545;&#35937; <code>t</code>&#65292;&#22768;&#26126; <span class="t-c"><span class="mw-geshi cpp source-cpp">T2 t <span class="sy1">=</span> e<span class="sy4">;</span></span></span> &#33391;&#26500;&#65288;&#33021;&#32534;&#35793;&#65289;&#26102;&#65292;&#31216;&#34920;&#36798;&#24335; <code>e</code> <i>&#21487;&#38544;&#24335;&#36716;&#25442;&#20026; <code>T2</code></i>&#12290;&#27880;&#24847;&#36825;&#26377;&#21035;&#20110;<a href="cpp-language-direct_initialization.html">&#30452;&#25509;&#21021;&#22987;&#21270;</a>&#65288;<span class="t-c"><span class="mw-geshi cpp source-cpp">T2 t<span class="br0">(</span>e<span class="br0">)</span></span></span>&#65289;&#65292;&#20854;&#20013;&#36824;&#20250;&#39069;&#22806;&#32771;&#34385; explicit &#26500;&#36896;&#20989;&#25968;&#21644;&#36716;&#25442;&#20989;&#25968;&#12290;</p>
<h4><span class="mw-headline" id=".E6.8C.89.E8.AF.AD.E5.A2.83.E8.BD.AC.E6.8D.A2">&#25353;&#35821;&#22659;&#36716;&#25442;</span></h4>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<p>&#19979;&#21015;&#35821;&#22659;&#20013;&#65292;&#26399;&#24453;&#31867;&#22411; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#19988;&#33509;&#22768;&#26126; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span> t<span class="br0">(</span>e<span class="br0">)</span><span class="sy4">;</span></span></span> &#33391;&#26500;&#21017;&#36827;&#34892;&#38544;&#24335;&#36716;&#25442;&#65288;&#21363;&#32771;&#34385;&#22914; <code>explicit T::operator bool() const;</code> &#36825;&#26679;&#30340;&#38544;&#24335;&#36716;&#25442;&#20989;&#25968;&#65289;&#12290;&#31216;&#36825;&#31181;&#34920;&#36798;&#24335; <code>e</code> <i>&#25353;&#35821;&#22659;&#36716;&#25442;&#20026; <code>bool</code></i>&#12290;</p>
<dl>
<dd>
<ul>
<li><code>if</code>&#12289;<code>while</code>&#12289;<code>for</code> &#30340;&#25511;&#21046;&#34920;&#36798;&#24335;&#65307;</li>
<li>&#20869;&#24314;&#36923;&#36753;&#36816;&#31639;&#31526; <code>!</code>&#12289;<code>&amp;&amp;</code> &#21644; <code>||</code> &#30340;&#25805;&#20316;&#25968;&#65307;</li>
<li>&#26465;&#20214;&#36816;&#31639;&#31526; <code>?:</code> &#30340;&#39318;&#20010;&#25805;&#20316;&#25968;&#65307;</li>
<li><a href="cpp-language-static_assert.html"><code>static_assert</code></a> &#22768;&#26126;&#20013;&#30340;&#35859;&#35789;&#65307;</li>
<li><a href="cpp-language-noexcept_spec.html"><code>noexcept</code></a> &#35828;&#26126;&#31526;&#20013;&#30340;&#34920;&#36798;&#24335;&#65307;</li>
</ul>
</dd>
</dl>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx20">
<td>
<dl>
<dd>
<ul>
<li><a href="cpp-language-explicit.html"><code>explicit</code></a> &#35828;&#26126;&#31526;&#20013;&#30340;&#34920;&#36798;&#24335;&#12290;</li>
</ul>
</dd>
</dl>
</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
</table>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<p>&#19979;&#21015;&#35821;&#22659;&#20013;&#65292;&#26399;&#24453;&#26576;&#20010;&#35821;&#22659;&#29305;&#23450;&#30340;&#31867;&#22411; <code>T</code>&#65292;&#32780;&#23545;&#20110;&#31867;&#31867;&#22411; <code>E</code> &#30340;&#34920;&#36798;&#24335; <code>e</code>&#65292;&#20165;&#24403; <span class="t-rev-inl t-until-cxx14"><span><code>E</code> &#25317;&#26377;&#21333;&#20010;&#36716;&#25442;&#21040;&#20219;&#20309;&#21487;&#20801;&#35768;&#31867;&#22411;&#30340;&#38750; explicit <a href="cpp-language-cast_operator.html">&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#20989;&#25968;</a></span> <span><span class="t-mark-rev t-until-cxx14">(C++14 &#21069;)</span></span></span><span class="t-rev-inl t-since-cxx14"><span>&#21487;&#20801;&#35768;&#31867;&#22411;&#20013;&#24688;&#22909;&#26377;&#19968;&#20010;&#31867;&#22411; <code>T</code>&#65292;&#20351;&#24471; <code>E</code> &#25317;&#26377;&#38750; explicit &#36716;&#25442;&#20989;&#25968;&#65292;&#20854;&#36820;&#22238;&#31867;&#22411;&#20026;&#65288;&#21487;&#26377; cv &#38480;&#23450;&#30340;&#65289;<code>T</code> &#25110;&#21040;&#65288;&#21487;&#26377; cv &#38480;&#23450;&#30340;&#65289;<code>T</code> &#30340;&#24341;&#29992;&#30340;&#65292;&#19988; <code>e</code> &#21487;&#38544;&#24335;&#36716;&#25442;&#20026; <code>T</code></span> <span><span class="t-mark-rev t-since-cxx14">(C++14 &#36215;)</span></span></span>&#26102;&#65292;&#25165;&#24471;&#21040;&#20801;&#35768;&#12290;&#31216;&#36825;&#31181;&#34920;&#36798;&#24335; <code>e</code> <i>&#25353;&#35821;&#22659;&#38544;&#24335;&#36716;&#25442;</i>&#21040;&#25351;&#23450;&#30340;&#31867;&#22411; <code>T</code>&#12290;<span class="t-rev-inl t-since-cxx11"><span>&#27880;&#24847;&#65292;&#20854;&#20013;&#19981;&#32771;&#34385; explicit &#36716;&#25442;&#20989;&#25968;&#65292;&#34429;&#28982;&#22312;&#25353;&#35821;&#22659;&#36716;&#25442;&#21040; bool &#26102;&#20250;&#32771;&#34385;&#23427;&#20204;&#12290;</span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span></p>
<ul>
<li><a href="cpp-language-delete.html">delete &#34920;&#36798;&#24335;</a>&#30340;&#23454;&#21442;&#65288;<code>T</code> &#26159;&#20219;&#20309;&#23545;&#35937;&#25351;&#38024;&#31867;&#22411;&#65289;&#65307;</li>
<li><a href="cpp-language-constant_expression.html#.E6.95.B4.E5.9E.8B.E5.B8.B8.E9.87.8F.E8.A1.A8.E8.BE.BE.E5.BC.8F">&#25972;&#22411;&#24120;&#37327;&#34920;&#36798;&#24335;</a>&#65292;&#20854;&#20013;&#20351;&#29992;&#20102;&#23383;&#38754;&#31867;&#65288;<code>T</code> &#26159;&#20219;&#20309;&#25972;&#25968;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#65292;&#25152;&#36873;&#20013;&#30340;&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#20989;&#25968;&#24517;&#39035;&#26159; <a href="cpp-language-constexpr.html">constexpr</a>&#65289;&#65307;</li>
<li><a href="cpp-language-switch.html"><code>switch</code></a> &#35821;&#21477;&#30340;&#25511;&#21046;&#34920;&#36798;&#24335;&#65288;<code>T</code> &#26159;&#25972;&#25968;&#25110;&#26522;&#20030;&#31867;&#22411;&#65289;&#12290;</li>
</ul>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;cassert&gt;</span>
<span class="kw1">template</span><span class="sy1">&lt;</span><span class="kw1">typename</span> T<span class="sy1">&gt;</span>
<span class="kw1">class</span> zero_init
<span class="br0">{</span>
T val<span class="sy4">;</span>
<span class="kw1">public</span><span class="sy4">:</span>
zero_init<span class="br0">(</span><span class="br0">)</span> <span class="sy4">:</span> val<span class="br0">(</span><span class="kw1">static_cast</span><span class="sy1">&lt;</span>T<span class="sy1">&gt;</span><span class="br0">(</span><span class="nu0">0</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span> <span class="br0">}</span>
zero_init<span class="br0">(</span>T val<span class="br0">)</span> <span class="sy4">:</span> val<span class="br0">(</span>val<span class="br0">)</span> <span class="br0">{</span> <span class="br0">}</span>
operator T<span class="sy3">&amp;</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="kw1">return</span> val<span class="sy4">;</span> <span class="br0">}</span>
operator T<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="br0">{</span> <span class="kw1">return</span> val<span class="sy4">;</span> <span class="br0">}</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
zero_init<span class="sy1">&lt;</span><span class="kw4">int</span><span class="sy1">&gt;</span> i<span class="sy4">;</span> <a href="cpp-error-assert.html"><span class="kw774">assert</span></a><span class="br0">(</span>i <span class="sy1">==</span> <span class="nu0">0</span><span class="br0">)</span><span class="sy4">;</span>
i <span class="sy1">=</span> <span class="nu0">7</span><span class="sy4">;</span> <a href="cpp-error-assert.html"><span class="kw774">assert</span></a><span class="br0">(</span>i <span class="sy1">==</span> <span class="nu0">7</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">switch</span><span class="br0">(</span>i<span class="br0">)</span> <span class="br0">{</span> <span class="br0">}</span> <span class="co1">// C++14 &#21069;&#38169;&#35823;&#65288;&#22810;&#20110;&#19968;&#20010;&#36716;&#25442;&#20989;&#25968;&#65289;</span>
<span class="co1">// C++14&#65288;&#20004;&#20010;&#20989;&#25968;&#22343;&#36716;&#25442;&#21040;&#21516;&#19968;&#31867;&#22411; int&#65289;</span>
<span class="kw1">switch</span><span class="br0">(</span>i <span class="sy2">+</span> <span class="nu0">0</span><span class="br0">)</span> <span class="br0">{</span> <span class="br0">}</span> <span class="co1">// &#22987;&#32456; OK&#65288;&#38544;&#24335;&#36716;&#25442;&#65289;</span>
<span class="br0">}</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E5.80.BC.E5.8F.98.E6.8D.A2">&#20540;&#21464;&#25442;</span></h3>
<p>&#20540;&#21464;&#25442;&#26159;&#26356;&#25913;&#34920;&#36798;&#24335;<a href="cpp-language-value_category.html">&#20540;&#31867;&#21035;</a>&#30340;&#36716;&#25442;&#12290;&#27599;&#24403;&#23558;&#34920;&#36798;&#24335;&#29992;&#20316;&#26399;&#24453;&#19981;&#21516;&#20540;&#31867;&#21035;&#30340;&#34920;&#36798;&#24335;&#30340;&#36816;&#31639;&#31526;&#30340;&#25805;&#20316;&#25968;&#26102;&#65292;&#21457;&#29983;&#20540;&#21464;&#25442;&#12290;</p>
<h4><span class="mw-headline" id=".E5.B7.A6.E5.80.BC.E5.88.B0.E5.8F.B3.E5.80.BC.E8.BD.AC.E6.8D.A2">&#24038;&#20540;&#21040;&#21491;&#20540;&#36716;&#25442;</span></h4>
<p>&#20219;&#20309;&#38750;&#20989;&#25968;&#12289;&#38750;&#25968;&#32452;&#31867;&#22411; <code>T</code> &#30340;<a href="cpp-language-value_category.html#.E6.B3.9B.E5.B7.A6.E5.80.BC">&#27867;&#24038;&#20540;</a>&#65292;&#21487;&#38544;&#24335;&#36716;&#25442;&#25104;&#21516;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#12290;&#33509; <code>T</code> &#20026;&#38750;&#31867;&#31867;&#22411;&#65292;&#21017;&#27492;&#36716;&#25442;&#20134;&#31227;&#38500; cv &#38480;&#23450;&#31526;&#12290;</p>
<p>&#20197;&#19979;&#24773;&#20917;&#19979;&#24182;&#19981;&#35775;&#38382;&#35813;&#24038;&#20540;&#25152;&#25351;&#20195;&#30340;&#23545;&#35937;&#65306;</p>
<ul>
<li>&#36716;&#21270;&#21457;&#29983;&#22312;<a href="cpp-language-expressions.html#.E4.B8.8D.E6.B1.82.E5.80.BC.E8.A1.A8.E8.BE.BE.E5.BC.8F">&#19981;&#27714;&#20540;&#35821;&#22659;</a>&#20013;&#65292;&#20363;&#22914;&#20316;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">sizeof</span></span><span class="t-rev-inl t-since-cxx11"><span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">noexcept</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp">decltype</span></span></span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span> &#25110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">typeid</span></span></span> &#30340;&#38745;&#24577;&#24418;&#24335;&#30340;&#25805;&#20316;&#25968;</li>
</ul>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<ul>
<li>&#27867;&#24038;&#20540;&#20855;&#26377; <span class="t-lc"><a href="cpp-types-nullptr_t.html">std::nullptr_t</a></span> &#31867;&#22411;&#65306;&#27492;&#24773;&#20917;&#19979;&#32467;&#26524;&#32431;&#21491;&#20540;&#26159;&#31354;&#25351;&#38024;&#24120;&#37327; <span class="t-c"><span class="mw-geshi cpp source-cpp">nullptr</span></span>&#12290;</li>
</ul>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<ul>
<li>&#23384;&#20648;&#20110;&#23545;&#35937;&#30340;&#20540;&#26159;&#32534;&#35793;&#26102;&#24120;&#37327;&#65292;&#19988;&#28385;&#36275;&#26576;&#20123;&#20854;&#20182;&#26465;&#20214;&#65288;&#35265; <a href="cpp-language-definition.html#ODR_.E5.BC.8F.E4.BD.BF.E7.94.A8">ODR &#24335;&#20351;&#29992;</a>&#65289;</li>
</ul>
<p>&#33509; <code>T</code> &#26159;&#38750;&#31867;&#31867;&#22411;&#65292;&#21017;&#20135;&#29983;&#35813;&#23545;&#35937;&#25152;&#21253;&#21547;&#30340;&#20540;&#20316;&#20026;&#32431;&#21491;&#20540;&#32467;&#26524;&#12290;&#23545;&#20110;&#31867;&#31867;&#22411;&#65292;&#27492;&#36716;&#25442;</p>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx17">
<td>
<p>&#23454;&#38469;&#19978;&#20197;&#21407;&#27867;&#24038;&#20540;&#20316;&#20026;&#22797;&#21046;&#26500;&#36896;&#20989;&#25968;&#30340;&#23454;&#21442;&#65292;&#22797;&#21046;&#26500;&#36896;&#19968;&#20010; <code>T</code> &#31867;&#22411;&#30340;&#20020;&#26102;&#23545;&#35937;&#65292;&#24182;&#23558;&#35813;&#20020;&#26102;&#23545;&#35937;&#20316;&#20026;&#32431;&#21491;&#20540;&#36820;&#22238;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-cxx17">(C++17 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx17">
<td>
<p>&#23558;&#27867;&#24038;&#20540;&#36716;&#25442;&#20026;&#32431;&#21491;&#20540;&#65292;&#20854;&#32467;&#26524;&#23545;&#35937;&#30001;&#35813;&#27867;&#24038;&#20540;&#22797;&#21046;&#21021;&#22987;&#21270;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
<p>&#36825;&#39033;&#36716;&#25442;&#25152;&#22609;&#36896;&#30340;&#26159;&#20174;&#26576;&#20010;&#20869;&#23384;&#20301;&#32622;&#20013;&#35835;&#21462;&#20540;&#21040; CPU &#23492;&#23384;&#22120;&#20043;&#20013;&#30340;&#21160;&#20316;&#12290;</p>
<p>&#33509;&#27867;&#24038;&#20540;&#25152;&#25351;&#20195;&#30340;&#23545;&#35937;&#21547;&#26377;&#19981;&#30830;&#23450;&#20540;&#65288;&#20363;&#22914;&#30001;<a href="cpp-language-default_initialization.html">&#40664;&#35748;&#21021;&#22987;&#21270;</a>&#38750;&#31867;&#31867;&#22411;&#30340;&#33258;&#21160;&#21464;&#37327;&#32780;&#24471;&#65289;&#65292;&#21017;&#20854;&#34892;&#20026;<a href="cpp-language-ub.html">&#26410;&#23450;&#20041;</a>&#65292;&#38500;&#38750;&#35813;&#19981;&#30830;&#23450;&#20540;&#30340;&#31867;&#22411;&#20026;&#21487;&#26377; cv &#38480;&#23450;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">char</span></span></span> <span class="t-rev-inl t-since-cxx17"><span>&#25110; <a href="cpp-types-byte.html"><tt>std::byte</tt></a></span> <span><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></span></span>&#12290;</p>
<p>&#33509;&#27867;&#24038;&#20540;&#21547;&#26377;&#24050;&#26080;&#25928;&#21270;&#30340;&#25351;&#38024;&#20540;&#65292;&#21017;&#34892;&#20026;&#30001;&#23454;&#29616;&#23450;&#20041;&#65288;&#32780;&#38750;&#26410;&#23450;&#20041;&#65289;&#12290;</p>
<h4><span class="mw-headline" id=".E6.95.B0.E7.BB.84.E5.88.B0.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">&#25968;&#32452;&#21040;&#25351;&#38024;&#36716;&#25442;</span></h4>
<p>&ldquo;<code>T</code> &#30340; <code>N</code> &#20803;&#32032;&#25968;&#32452;&rdquo;&#25110;&ldquo;<code>T</code> &#30340;&#26410;&#30693;&#36793;&#30028;&#25968;&#32452;&rdquo;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E5.B7.A6.E5.80.BC">&#24038;&#20540;</a>&#25110;<a href="cpp-language-value_category.html#.E5.8F.B3.E5.80.BC">&#21491;&#20540;</a>&#65292;&#21487;&#38544;&#24335;&#36716;&#25442;&#20026;&ldquo;&#25351;&#21521; <code>T</code> &#30340;&#25351;&#38024;&rdquo;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#12290;<span class="t-rev-inl t-since-cxx17"><span>&#33509;&#25968;&#32452;&#26159;&#32431;&#21491;&#20540;&#65292;&#21017;&#21457;&#29983;<a href="cpp-language-implicit_cast.html#.E4.B8.B4.E6.97.B6.E9.87.8F.E5.AE.9E.E8.B4.A8.E5.8C.96">&#20020;&#26102;&#37327;&#23454;&#36136;&#21270;</a>&#12290;</span> <span><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></span></span>&#20135;&#29983;&#30340;&#25351;&#38024;&#25351;&#21521;&#25968;&#32452;&#39318;&#20803;&#32032;&#65288;&#32454;&#33410;&#21442;&#38405;<a href="cpp-language-array.html#.E6.95.B0.E7.BB.84.E5.88.B0.E6.8C.87.E9.92.88.E9.80.80.E5.8C.96">&#25968;&#32452;&#21040;&#25351;&#38024;&#36864;&#21270;</a>&#65289;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx17">
<td>
<h4><span class="mw-headline" id=".E4.B8.B4.E6.97.B6.E9.87.8F.E5.AE.9E.E8.B4.A8.E5.8C.96">&#20020;&#26102;&#37327;&#23454;&#36136;&#21270;</span></h4>
<p>&#20219;&#20309;&#23436;&#25972;&#31867;&#22411; <code>T</code> &#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#20026;&#21516;&#31867;&#22411; <code>T</code> &#30340;&#20129;&#20540;&#12290;&#27492;&#36716;&#25442;&#20197;&#35813;&#32431;&#21491;&#20540;&#21021;&#22987;&#21270;&#19968;&#20010; T &#31867;&#22411;&#30340;&#20020;&#26102;&#23545;&#35937;&#65288;&#20197;&#20020;&#26102;&#23545;&#35937;&#20316;&#20026;&#27714;&#20540;&#35813;&#32431;&#21491;&#20540;&#30340;&#32467;&#26524;&#23545;&#35937;&#65289;&#65292;&#24182;&#20135;&#29983;&#19968;&#20010;&#20195;&#34920;&#35813;&#20020;&#26102;&#23545;&#35937;&#30340;&#20129;&#20540;&#12290; &#33509; <code>T</code> &#26159;&#31867;&#31867;&#22411;&#25110;&#31867;&#31867;&#22411;&#30340;&#25968;&#32452;&#65292;&#21017;&#23427;&#24517;&#39035;&#26377;&#21487;&#35775;&#38382;&#19988;&#26410;&#34987;&#24323;&#32622;&#30340;&#26512;&#26500;&#20989;&#25968;</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> <span class="kw4">int</span> m<span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">int</span> k <span class="sy1">=</span> S<span class="br0">(</span><span class="br0">)</span>.<span class="me1">m</span><span class="sy4">;</span> <span class="co1">// C++17 &#36215;&#25104;&#21592;&#35775;&#38382;&#26399;&#24453;&#27867;&#24038;&#20540;&#65307;</span>
<span class="co1">// S() &#32431;&#21491;&#20540;&#34987;&#36716;&#25442;&#20026;&#20129;&#20540;</span></pre></div>
</div>
<p>&#20020;&#26102;&#37327;&#23454;&#36136;&#21270;&#22312;&#19979;&#20363;&#24773;&#20917;&#19979;&#21457;&#29983;&#65306;</p>
<ul>
<li><a href="cpp-language-reference_initialization.html">&#32465;&#23450;&#24341;&#29992;</a>&#21040;&#32431;&#21491;&#20540;&#26102;&#65307;</li>
<li>&#22312;&#31867;&#32431;&#21491;&#20540;&#19978;&#36827;&#34892;<a href="cpp-language-operator_member_access.html">&#25104;&#21592;&#35775;&#38382;</a>&#26102;&#65307;</li>
<li>&#36827;&#34892;&#25968;&#32452;&#21040;&#25351;&#38024;&#36716;&#25442;&#65288;&#35265;&#19978;&#25991;&#65289;&#25110;&#22312;&#25968;&#32452;&#32431;&#21491;&#20540;&#19978;<a href="cpp-language-operator_member_access.html#.E5.86.85.E5.BB.BA.E7.9A.84.E4.B8.8B.E6.A0.87.E8.BF.90.E7.AE.97.E7.AC.A6">&#20351;&#29992;&#19979;&#26631;</a>&#26102;&#65307;</li>
<li>&#20197;<a href="cpp-language-list_initialization.html">&#33457;&#25324;&#21495;&#21021;&#22987;&#21270;&#22120;&#21015;&#34920;</a>&#21021;&#22987;&#21270; <span class="t-lc">std::initializer_list&lt;T&gt;</span> &#31867;&#22411;&#30340;&#23545;&#35937;&#26102;&#65307;</li>
<li>&#23545;&#32431;&#21491;&#20540;&#24212;&#29992; <a href="cpp-language-typeid.html"><code>typeid</code></a> &#26102;&#65288;&#36825;&#26159;&#19981;&#27714;&#20540;&#34920;&#36798;&#24335;&#30340;&#19968;&#37096;&#20998;&#65289;&#65307;</li>
<li>&#23545;&#32431;&#21491;&#20540;&#24212;&#29992; <a href="cpp-language-sizeof.html"><code>sizeof</code></a> &#26102;&#65288;&#36825;&#26159;&#19981;&#27714;&#20540;&#34920;&#36798;&#24335;&#30340;&#19968;&#37096;&#20998;&#65289;&#65307;</li>
<li>&#32431;&#21491;&#20540;&#20316;&#20026;<a href="cpp-language-expressions.html#.E5.BC.83.E5.80.BC.E8.A1.A8.E8.BE.BE.E5.BC.8F">&#24323;&#20540;&#34920;&#36798;&#24335;</a>&#26102;&#65307;</li>
</ul>
<p>&#27880;&#24847;&#20020;&#26102;&#37327;&#23454;&#36136;&#21270;&#22312;&#20174;&#32431;&#21491;&#20540;&#21021;&#22987;&#21270;&#21516;&#31867;&#22411;&#23545;&#35937;&#65288;&#30001;<a href="cpp-language-direct_initialization.html">&#30452;&#25509;&#21021;&#22987;&#21270;</a>&#25110;<a href="cpp-language-copy_initialization.html">&#22797;&#21046;&#21021;&#22987;&#21270;</a>&#65289;&#26102;<i>&#19981;</i>&#20986;&#29616;&#65306;&#30452;&#25509;&#20174;&#21021;&#22987;&#21270;&#22120;&#21021;&#22987;&#21270;&#36825;&#31181;&#23545;&#35937;&#12290;&#36825;&#30830;&#20445;&ldquo;&#21463;&#20445;&#35777;&#30340;&#22797;&#21046;&#28040;&#38500;&rdquo;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E5.87.BD.E6.95.B0.E5.88.B0.E6.8C.87.E9.92.88">&#20989;&#25968;&#21040;&#25351;&#38024;</span></h4>
<p>&#20989;&#25968;&#31867;&#22411; <code>T</code> &#30340;<a href="cpp-language-value_category.html#.E5.B7.A6.E5.80.BC">&#24038;&#20540;</a>&#65292;&#21487;&#38544;&#24335;&#36716;&#25442;&#25104;<a href="cpp-language-pointer.html#.E5.87.BD.E6.95.B0.E6.8C.87.E9.92.88">&#25351;&#21521;&#35813;&#20989;&#25968;&#30340;&#25351;&#38024;</a>&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#12290;&#36825;&#19981;&#36866;&#29992;&#20110;&#38750;&#38745;&#24577;&#25104;&#21592;&#20989;&#25968;&#65292;&#22240;&#20026;&#19981;&#23384;&#22312;&#25351;&#20195;&#38750;&#38745;&#24577;&#25104;&#21592;&#20989;&#25968;&#30340;&#24038;&#20540;&#12290;</p>
<h3><span class="mw-headline" id=".E6.95.B0.E5.80.BC.E6.8F.90.E5.8D.87">&#25968;&#20540;&#25552;&#21319;</span></h3>
<h4><span class="mw-headline" id=".E6.95.B4.E5.9E.8B.E6.8F.90.E5.8D.87">&#25972;&#22411;&#25552;&#21319;</span></h4>
<p>&#23567;&#25972;&#22411;&#31867;&#22411;&#65288;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span>&#65289;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#21487;&#36716;&#25442;&#20026;&#36739;&#22823;&#25972;&#22411;&#31867;&#22411;&#65288;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65289;&#30340;&#32431;&#21491;&#20540;&#12290;&#20855;&#20307;&#32780;&#35328;&#65292;<a href="cpp-language-operator_arithmetic.html">&#31639;&#26415;&#36816;&#31639;&#31526;</a>&#19981;&#25509;&#21463;&#23567;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span> &#30340;&#31867;&#22411;&#20026;&#20854;&#23454;&#21442;&#65292;&#32780;&#22312;&#24038;&#20540;&#21040;&#21491;&#20540;&#36716;&#25442;&#21518;&#65292;&#33509;&#36866;&#29992;&#21017;&#33258;&#21160;&#23454;&#26045;&#25972;&#22411;&#25552;&#21319;&#12290;&#27492;&#36716;&#25442;&#22987;&#32456;&#20445;&#25345;&#21407;&#20540;&#12290;</p>
<p>&#20197;&#19979;&#38544;&#24335;&#36716;&#25442;&#34987;&#24402;&#31867;&#20026;&#25972;&#22411;&#25552;&#21319;&#65306;</p>
<dl>
<dd>
<ul>
<li><code><b>signed char</b></code> &#25110; <code><b>signed short</b></code> &#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65307;</li>
<li>&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span> &#33021;&#20445;&#26377;&#20854;&#25972;&#20010;&#20540;&#33539;&#22260;&#65292;&#21017; <code><b>unsigned char</b></code><span class="t-rev-inl t-since-cxx20"><span>&#12289;<code><b>char8_t</b></code></span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span> &#25110; <code><b>unsigned short</b></code> &#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#21542;&#21017;&#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#65307;</li>
<li><code><b>char</b></code> &#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span> &#25110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#65292;&#21462;&#20915;&#20110;&#20854;&#24213;&#23618;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">signed</span> <span class="kw4">char</span></span></span> &#36824;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">char</span></span></span>&#65288;&#35265;&#19978;&#25991;&#65289;&#65307;</li>
<li><code><b>wchar_t</b></code><span class="t-rev-inl t-since-cxx11"><span>&#12289;<code><b>char16_t</b></code> &#21450; <code><b>char32_t</b></code></span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span> &#21487;&#36716;&#25442;&#20026;&#20197;&#19979;&#21015;&#34920;&#20013;&#33021;&#20445;&#26377;&#20854;&#25972;&#20010;&#20540;&#33539;&#22260;&#30340;&#39318;&#20010;&#31867;&#22411;&#65306;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">long</span></span></span><span class="t-rev-inl t-since-cxx11"><span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span> <span class="kw4">long</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span></span></span></span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span>&#65307;</li>
<li>&#24213;&#23618;&#31867;&#22411;&#19981;&#22266;&#23450;&#30340;<a href="cpp-language-enum.html"><i>&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;</i></a>&#31867;&#22411;&#21487;&#36716;&#25442;&#20026;&#20197;&#19979;&#21015;&#34920;&#20013;&#33021;&#20445;&#26377;&#20854;&#25972;&#20010;&#20540;&#33539;&#22260;&#30340;&#39318;&#20010;&#31867;&#22411;&#65306;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">long</span></span></span><span class="t-rev-inl t-since-cxx11"><span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span> <span class="kw4">long</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span></span></span>&#12289;&#25193;&#23637;&#25972;&#25968;&#31867;&#22411;&#65288;&#20197;&#22823;&#23567;&#39034;&#24207;&#65292;&#26377;&#31526;&#21495;&#20248;&#20808;&#20110;&#26080;&#31526;&#21495;&#65289;</span> <span><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></span></span>&#12290;&#33509;&#20540;&#33539;&#22260;&#26356;&#22823;&#65292;&#21017;&#19981;&#24212;&#29992;&#25972;&#22411;&#25552;&#21319;&#65307;</li>
</ul>
</dd>
</dl>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<dl>
<dd>
<ul>
<li>&#24213;&#23618;&#31867;&#22411;&#22266;&#23450;&#30340;<i>&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;</i>&#31867;&#22411;&#21487;&#36716;&#25442;&#20026;&#20854;&#24213;&#23618;&#31867;&#22411;&#65292;&#32780;&#24403;&#24213;&#23618;&#31867;&#22411;&#20134;&#36866;&#29992;&#25972;&#22411;&#25552;&#21319;&#26102;&#65292;&#21017;&#20134;&#21487;&#36716;&#25442;&#20026;&#25552;&#21319;&#21518;&#30340;&#24213;&#23618;&#31867;&#22411;&#12290;&#21040;&#26410;&#25552;&#21319;&#30340;&#24213;&#23618;&#31867;&#22411;&#30340;&#36716;&#25442;&#65292;&#23545;&#20110;<a href="cpp-language-overload_resolution.html">&#37325;&#36733;&#20915;&#35758;</a>&#32780;&#35328;&#20026;&#26356;&#20248;&#65307;</li>
</ul>
</dd>
</dl>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<dl>
<dd>
<ul>
<li>&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span> &#33021;&#34920;&#31034;&#20301;&#22495;&#30340;&#25972;&#20010;&#20540;&#33539;&#22260;&#65292;&#21017;<a href="cpp-language-bit_field.html"><i>&#20301;&#22495;</i></a>&#31867;&#22411;&#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#21542;&#21017;&#33509; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span> &#33021;&#34920;&#31034;&#20301;&#22495;&#30340;&#25972;&#20010;&#20540;&#33539;&#22260;&#65292;&#21017;&#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#65292;&#21542;&#21017;&#19981;&#23454;&#26045;&#25972;&#22411;&#25552;&#21319;&#65307;</li>
<li><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#31867;&#22411;&#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span> &#21464;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">&#8203;<span class="nu0">0</span>&#8203;</span></span> &#32780; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> &#21464;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="nu0">1</span></span></span>&#12290;</li>
</ul>
</dd>
</dl>
<p>&#27880;&#24847;&#65292;&#25152;&#26377;&#20854;&#20182;&#36716;&#25442;&#37117;&#19981;&#26159;&#25552;&#21319;&#65307;&#20363;&#22914;<a href="cpp-language-overload_resolution.html">&#37325;&#36733;&#20915;&#35758;</a>&#36873;&#25321; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span> -&gt; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65288;&#25552;&#21319;&#65289;&#20248;&#20808;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span> -&gt; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">short</span></span></span>&#65288;&#36716;&#25442;&#65289;&#12290;</p>
<h4><span class="mw-headline" id=".E6.B5.AE.E7.82.B9.E6.8F.90.E5.8D.87">&#28014;&#28857;&#25552;&#21319;</span></h4>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">float</span></span></span> &#31867;&#22411;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#21487;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">double</span></span></span> &#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#12290;&#20540;&#19981;&#26356;&#25913;&#12290;</p>
<h3><span class="mw-headline" id=".E6.95.B0.E5.80.BC.E8.BD.AC.E6.8D.A2">&#25968;&#20540;&#36716;&#25442;</span></h3>
<p>&#19981;&#21516;&#20110;&#25552;&#21319;&#65292;&#25968;&#20540;&#36716;&#25442;&#21487;&#20197;&#26356;&#25913;&#20540;&#65292;&#32780;&#19988;&#26377;&#28508;&#22312;&#30340;&#31934;&#24230;&#25439;&#22833;&#12290;</p>
<h4><span class="mw-headline" id=".E6.95.B4.E5.9E.8B.E8.BD.AC.E6.8D.A2">&#25972;&#22411;&#36716;&#25442;</span></h4>
<p>&#20219;&#20309;&#25972;&#25968;&#31867;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#37117;&#21487;&#38544;&#24335;&#36716;&#25442;&#25104;&#20219;&#20309;&#20854;&#20182;&#25972;&#25968;&#31867;&#22411;&#12290;&#33509;&#20854;&#36716;&#25442;&#21015;&#20986;&#20110;&#25972;&#25968;&#31867;&#22411;&#25552;&#21319;&#20043;&#19979;&#65292;&#21017;&#23427;&#26159;&#25552;&#21319;&#32780;&#38750;&#36716;&#25442;&#12290;</p>
<dl>
<dd>
<ul>
<li>&#33509;&#30446;&#26631;&#31867;&#22411;&#20026;&#26080;&#31526;&#21495;&#65292;&#21017;&#32467;&#26524;&#20540;&#26159;&#31561;&#20110;&#28304;&#20540;<a href="https://en.wikipedia.org/wiki/Modular_arithmetic" class="extiw" title="enwiki:Modular arithmetic">&#27169;</a> <span class="texhtml" style="white-space: nowrap;">2<span class="t-su">n<br /></span></span> &#30340;&#26368;&#23567;&#26080;&#31526;&#21495;&#20540;&#65292;&#20854;&#20013; <span class="texhtml" style="white-space: nowrap;">n</span> &#26159;&#29992;&#20110;&#34920;&#31034;&#30446;&#26631;&#31867;&#22411;&#30340;&#20301;&#25968;&#12290;</li>
</ul>
<dl>
<dd>&#21363;&#21462;&#20915;&#20110;&#30446;&#26631;&#31867;&#22411;&#26356;&#23485;&#25110;&#26356;&#31364;&#65292;&#20998;&#21035;&#23545;&#26377;&#31526;&#21495;&#25968;&#36827;&#34892;&#31526;&#21495;&#25193;&#23637;<sup id="cite_ref-1" class="reference"><a href="cpp-language-implicit_cast.html#cite_note-1">[&#33050;&#27880; 1]</a></sup>&#25110;&#25130;&#26029;&#65292;&#32780;&#23545;&#26080;&#31526;&#21495;&#25968;&#36827;&#34892;&#38646;&#25193;&#23637;&#25110;&#25130;&#26029;&#12290;</dd>
</dl>
<ul>
<li>&#33509;&#30446;&#26631;&#31867;&#22411;&#26377;&#31526;&#21495;&#65292;&#21017;&#24403;&#28304;&#25972;&#25968;&#33021;&#20197;&#30446;&#26631;&#31867;&#22411;&#34920;&#31034;&#26102;&#65292;&#19981;&#26356;&#25913;&#20854;&#20540;&#12290;&#21542;&#21017;&#32467;&#26524;&#26159;<span class="t-rev-inl t-until-cxx20"><span>&#23454;&#29616;&#23450;&#20041;&#30340;</span> <span><span class="t-mark-rev t-until-cxx20">(C++20 &#21069;)</span></span></span><span class="t-rev-inl t-since-cxx20"><span>&#19982;&#28304;&#20540;&#23545; <span class="texhtml" style="white-space: nowrap;">2<span class="t-su">n<br /></span></span> &#21516;&#20313;&#30340;&#21807;&#19968;&#30446;&#26631;&#31867;&#22411;&#20540;&#65292;&#20854;&#20013; <span class="texhtml" style="white-space: nowrap;">n</span> &#26159;&#29992;&#20110;&#34920;&#31034;&#30446;&#26631;&#31867;&#22411;&#30340;&#20301;&#25968;</span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span>&#65288;&#27880;&#24847;&#36825;&#19981;&#21516;&#20110;&#26410;&#23450;&#20041;&#30340;<a href="cpp-language-operator_arithmetic.html#.E6.BA.A2.E5.87.BA">&#26377;&#31526;&#21495;&#25972;&#25968;&#31639;&#26415;&#28322;&#20986;</a>&#65289;&#12290;</li>
<li>&#33509;&#28304;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#21017;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span> &#36716;&#25442;&#20026;&#30446;&#26631;&#31867;&#22411;&#30340;&#38646;&#65292;&#32780;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> &#36716;&#25442;&#25104;&#30446;&#26631;&#31867;&#22411;&#30340;&#19968;&#65288;&#27880;&#24847;&#33509;&#30446;&#26631;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#21017;&#36825;&#26159;&#25972;&#25968;&#31867;&#22411;&#25552;&#21319;&#65292;&#32780;&#38750;&#25972;&#25968;&#31867;&#22411;&#36716;&#25442;&#65289;&#12290;</li>
<li>&#33509;&#30446;&#26631;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#21017;&#36825;&#26159;&#24067;&#23572;&#36716;&#25442;&#65288;&#35265;&#19979;&#25991;&#65289;&#12290;</li>
</ul>
</dd>
</dl>
<h4><span class="mw-headline" id=".E6.B5.AE.E7.82.B9.E8.BD.AC.E6.8D.A2">&#28014;&#28857;&#36716;&#25442;</span></h4>
<p>&#28014;&#28857;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#21487;&#36716;&#25442;&#25104;&#20219;&#20309;&#20854;&#20182;&#28014;&#28857;&#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#12290;&#33509;&#20854;&#36716;&#25442;&#21015;&#20110;&#28014;&#28857;&#25552;&#21319;&#20043;&#19979;&#65292;&#21017;&#23427;&#26159;&#25552;&#21319;&#32780;&#38750;&#36716;&#25442;&#12290;</p>
<dl>
<dd>
<ul>
<li>&#33509;&#28304;&#20540;&#33021;&#20197;&#30446;&#26631;&#31867;&#22411;&#20934;&#30830;&#34920;&#31034;&#65292;&#21017;&#19981;&#26356;&#25913;&#23427;&#12290;</li>
<li>&#33509;&#28304;&#20540;&#22788;&#20110;&#30446;&#26631;&#31867;&#22411;&#30340;&#20004;&#20010;&#21487;&#34920;&#31034;&#20540;&#20043;&#38388;&#65292;&#21017;&#32467;&#26524;&#26159;&#20004;&#20010;&#20540;&#20043;&#19968;&#65288;&#36873;&#25321;&#21738;&#20010;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#65292;&#19981;&#36807;&#33509;&#25903;&#25345; IEEE&#65292;&#21017;&#33293;&#20837;&#40664;&#35748;&#20026;<a href="cpp-numeric-fenv-FE_round.html">&#21040;&#26368;&#25509;&#36817;</a>&#65289;&#12290;</li>
<li>&#21542;&#21017;&#65292;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</li>
</ul>
</dd>
</dl>
<h4><span class="mw-headline" id=".E6.B5.AE.E7.82.B9.E6.95.B4.E5.9E.8B.E8.BD.AC.E6.8D.A2">&#28014;&#28857;&#25972;&#22411;&#36716;&#25442;</span></h4>
<dl>
<dd>
<ul>
<li>&#28014;&#28857;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#21487;&#38544;&#24335;&#36716;&#25442;&#25104;&#20219;&#20309;&#25972;&#25968;&#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#12290;&#25130;&#26029;&#23567;&#25968;&#37096;&#20998;&#65292;&#21363;&#33293;&#24323;&#23567;&#25968;&#37096;&#20998;&#12290;&#33509;&#32467;&#26524;&#19981;&#33021;&#36866;&#24212;&#21040;&#30446;&#26631;&#31867;&#22411;&#20013;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#65288;&#21363;&#20351;&#22312;&#30446;&#26631;&#31867;&#22411;&#20026;&#26080;&#31526;&#21495;&#25968;&#26102;&#65292;&#20063;&#19981;&#23454;&#26045;&#27169;&#31639;&#26415;&#65289;&#12290;&#33509;&#30446;&#26631;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#21017;&#36825;&#26159;&#24067;&#23572;&#36716;&#25442;&#65288;&#35265;&#19979;&#25991;&#65289;&#12290;</li>
<li>&#25972;&#25968;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#21487;&#36716;&#25442;&#25104;&#20219;&#20309;&#28014;&#28857;&#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#12290;&#33509;&#19981;&#33021;&#27491;&#30830;&#34920;&#31034;&#35813;&#20540;&#65292;&#21017;&#36873;&#25321;&#19982;&#20043;&#26368;&#25509;&#36817;&#30340;&#36739;&#39640;&#20540;&#36824;&#26159;&#26368;&#25509;&#36817;&#30340;&#36739;&#20302;&#20540;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#65292;&#19981;&#36807;&#33509;&#25903;&#25345; IEEE&#65292;&#21017;&#33293;&#20837;&#40664;&#35748;&#20026;<a href="cpp-numeric-fenv-FE_round.html">&#21040;&#26368;&#25509;&#36817;</a>&#12290;&#33509;&#20854;&#20540;&#19981;&#33021;&#36866;&#24212;&#21040;&#30446;&#26631;&#31867;&#22411;&#20013;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;&#33509;&#28304;&#31867;&#22411;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#21017;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span> &#36716;&#25442;&#20026;&#38646;&#65292;&#32780;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> &#36716;&#25442;&#20026;&#19968;&#12290;</li>
</ul>
</dd>
</dl>
<h4><span class="mw-headline" id=".E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">&#25351;&#38024;&#36716;&#25442;</span></h4>
<dl>
<dd>
<ul>
<li><i>&#31354;&#25351;&#38024;&#24120;&#37327;</i>&#65288;&#35265; <span class="t-lc"><a href="cpp-types-NULL.html">NULL</a></span>&#65289;&#33021;&#36716;&#25442;&#25104;&#20219;&#20309;&#25351;&#38024;&#31867;&#22411;&#65292;&#32780;&#32467;&#26524;&#26159;&#35813;&#31867;&#22411;&#30340;&#31354;&#25351;&#38024;&#20540;&#12290;&#20801;&#35768;&#36825;&#31181;&#36716;&#25442;&#65288;&#31216;&#20026;<i>&#31354;&#25351;&#38024;&#36716;&#25442;</i>&#65289;&#20316;&#20026;&#21333;&#27425;&#36716;&#25442;&#65292;&#36716;&#25442;&#21040; cv &#38480;&#23450;&#31867;&#22411;&#65292;&#21363;&#19981;&#35748;&#20026;&#23427;&#26159;&#25968;&#20540;&#21644;&#38480;&#23450;&#24615;&#36716;&#25442;&#30340;&#32467;&#21512;&#12290;</li>
<li>&#25351;&#21521;&#20219;&#20309;&#65288;&#21487;&#26377; cv &#38480;&#23450;&#30340;&#65289;&#23545;&#35937;&#31867;&#22411; <code>T</code> &#30340;&#25351;&#38024;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#65288;&#26377;&#31561;&#21516; cv &#38480;&#23450;&#30340;&#65289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span></span></span> &#30340;&#25351;&#38024;&#30340;&#32431;&#21491;&#20540;&#12290;&#32467;&#26524;&#25351;&#38024;&#19982;&#21407;&#25351;&#38024;&#34920;&#31034;&#20869;&#23384;&#20013;&#30340;&#21516;&#19968;&#20301;&#32622;&#12290;&#33509;&#21407;&#25351;&#38024;&#26159;&#31354;&#25351;&#38024;&#20540;&#65292;&#21017;&#32467;&#26524;&#20026;&#30446;&#26631;&#31867;&#22411;&#30340;&#31354;&#25351;&#38024;&#20540;&#12290;</li>
<li>&#25351;&#21521;&#27966;&#29983;&#31867;&#31867;&#22411;&#30340;&#65288;&#21487;&#26377; cv &#38480;&#23450;&#30340;&#65289;&#31354;&#25351;&#38024;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#20854;&#65288;&#26377;&#31561;&#21516; cv &#38480;&#23450;&#30340;&#65289;&#22522;&#31867;&#30340;&#25351;&#38024;&#12290;&#33509;&#22522;&#31867;&#19981;&#21487;&#35775;&#38382;&#25110;&#26377;&#27495;&#20041;&#65292;&#21017;&#36716;&#25442;&#38750;&#33391;&#26500;&#65288;&#19981;&#33021;&#32534;&#35793;&#65289;&#12290;&#36716;&#25442;&#32467;&#26524;&#26159;&#25351;&#21521;&#21407;&#34987;&#25351;&#21521;&#23545;&#35937;&#20869;&#30340;&#22522;&#31867;&#23376;&#23545;&#35937;&#30340;&#25351;&#38024;&#12290;&#31354;&#25351;&#38024;&#20540;&#36716;&#25442;&#25104;&#30446;&#26631;&#31867;&#22411;&#30340;&#31354;&#25351;&#38024;&#20540;&#12290;</li>
</ul>
</dd>
</dl>
<h4><span class="mw-headline" id=".E6.88.90.E5.91.98.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">&#25104;&#21592;&#25351;&#38024;&#36716;&#25442;</span></h4>
<dl>
<dd>
<ul>
<li><i>&#31354;&#25351;&#38024;&#24120;&#37327;</i>&#65288;&#35265; <span class="t-lc"><a href="cpp-types-NULL.html">NULL</a></span>&#65289;&#21487;&#36716;&#25442;&#25104;&#20219;&#20309;&#25104;&#21592;&#25351;&#38024;&#31867;&#22411;&#65292;&#32780;&#32467;&#26524;&#26159;&#35813;&#31867;&#22411;&#30340;&#31354;&#25104;&#21592;&#25351;&#38024;&#20540;&#12290;&#20801;&#35768;&#36825;&#31181;&#36716;&#25442;&#65288;&#31216;&#20026;<i>&#31354;&#25104;&#21592;&#25351;&#38024;&#36716;&#25442;</i>&#65289;&#20316;&#20026;&#21333;&#27425;&#36716;&#25442;&#65292;&#36716;&#25442;&#21040; cv &#38480;&#23450;&#31867;&#22411;&#65292;&#21363;&#19981;&#35748;&#20026;&#23427;&#26159;&#25968;&#20540;&#21644;&#38480;&#23450;&#24615;&#36716;&#25442;&#30340;&#32467;&#21512;&#12290;</li>
<li>&#25351;&#21521;&#22522;&#31867; <code>B</code> &#20013;&#26576;&#31867;&#22411; <code>T</code> &#25104;&#21592;&#30340;&#25351;&#38024;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#20854;&#27966;&#29983;&#31867; <code>D</code> &#20013;&#21516;&#19968;&#31867;&#22411; <code>T</code> &#25104;&#21592;&#30340;&#25351;&#38024;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#12290;&#33509; <code>B</code> &#26159; <code>D</code> &#30340;&#38388;&#25509;&#12289;&#26377;&#27495;&#20041;&#25110;&#34394;&#22522;&#31867;&#65292;&#25110;&#26159; <code>D</code> &#30340;&#26576;&#20010;&#20013;&#38388;&#34394;&#22522;&#31867;&#30340;&#22522;&#31867;&#65292;&#21017;&#36716;&#25442;&#38750;&#33391;&#26500;&#65288;&#19981;&#33021;&#32534;&#35793;&#65289;&#12290;&#33021;&#20197; <code>D</code> &#23545;&#35937;&#35299;&#24341;&#29992;&#32467;&#26524;&#25351;&#38024;&#65292;&#32780;&#23427;&#23558;&#35775;&#38382;&#35813; <code>D</code> &#23545;&#35937;&#30340; <code>B</code> &#22522;&#31867;&#23376;&#23545;&#35937;&#20869;&#30340;&#25104;&#21592;&#12290;&#31354;&#25104;&#21592;&#25351;&#38024;&#20540;&#36716;&#25442;&#25104;&#30446;&#26631;&#31867;&#22411;&#30340;&#31354;&#25104;&#21592;&#25351;&#38024;&#20540;&#12290;</li>
</ul>
</dd>
</dl>
<h4><span class="mw-headline" id=".E5.B8.83.E5.B0.94.E8.BD.AC.E6.8D.A2">&#24067;&#23572;&#36716;&#25442;</span></h4>
<p>&#25972;&#25968;&#12289;&#28014;&#28857;&#12289;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#12289;&#25351;&#38024;&#21644;&#25104;&#21592;&#25351;&#38024;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#25104; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#12290;</p>
<p>&#38646;&#20540;&#65288;&#23545;&#20110;&#25972;&#25968;&#12289;&#28014;&#28857;&#21644;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#65289;&#12289;&#31354;&#25351;&#38024;&#20540;&#21644;&#31354;&#25104;&#21592;&#25351;&#38024;&#20540;&#21464;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span>&#12290;&#25152;&#26377;&#20854;&#20182;&#20540;&#21464;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span>&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<p><a href="cpp-language-direct_initialization.html">&#30452;&#25509;&#21021;&#22987;&#21270;</a>&#30340;&#35821;&#22659;&#20013;&#65292;&#21487;&#20197; <span class="t-lc"><a href="cpp-types-nullptr_t.html">std::nullptr_t</a></span> &#31867;&#22411;&#32431;&#21491;&#20540;&#65288;&#21253;&#25324; <span class="t-c"><span class="mw-geshi cpp source-cpp">nullptr</span></span>&#65289;&#21021;&#22987;&#21270; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#23545;&#35937;&#12290;&#32467;&#26524;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span>&#12290;&#28982;&#32780;&#19981;&#35748;&#20026;&#23427;&#26159;&#38544;&#24335;&#36716;&#25442;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E9.99.90.E5.AE.9A.E6.80.A7.E8.BD.AC.E6.8D.A2">&#38480;&#23450;&#24615;&#36716;&#25442;</span></h3>
<dl>
<dd>
<ul>
<li>&#25351;&#21521;<a href="cpp-language-cv.html">&#26377; cv &#38480;&#23450;</a>&#30340;&#31867;&#22411; <code>T</code> &#30340;&#25351;&#38024;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#20026;&#25351;&#21521;&#26377;&#26356;&#22810; cv &#38480;&#23450;&#30340;&#21516;&#19968;&#31867;&#22411; <code>T</code> &#30340;&#25351;&#38024;&#32431;&#21491;&#20540;&#65288;&#25442;&#35328;&#20043;&#65292;&#33021;&#28155;&#21152;&#24120;&#24615;&#21644;&#26131;&#21464;&#24615;&#65289;&#12290;</li>
<li>&#25351;&#21521;&#31867; <code>X</code> &#20013;&#26377; cv &#38480;&#23450;&#30340;&#31867;&#22411; <code>T</code> &#30340;&#25104;&#21592;&#25351;&#38024;&#30340;&#32431;&#21491;&#20540;&#65292;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#31867; <code>X</code> &#20013;&#26377;&#26356;&#22810; cv &#38480;&#23450;&#30340;&#31867;&#22411; <code>T</code> &#30340;&#25104;&#21592;&#25351;&#38024;&#32431;&#21491;&#20540;&#12290;</li>
</ul>
</dd>
</dl>
<p>&ldquo;&#26356;&#22810;&rdquo; cv &#38480;&#23450;&#34920;&#26126;</p>
<dl>
<dd>
<ul>
<li>&#25351;&#21521;<i>&#26080;&#38480;&#23450;</i>&#31867;&#22411;&#30340;&#25351;&#38024;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; <code>const</code> &#30340;&#25351;&#38024;&#65307;</li>
<li>&#25351;&#21521;<i>&#26080;&#38480;&#23450;</i>&#31867;&#22411;&#30340;&#25351;&#38024;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; <code>volatile</code> &#30340;&#25351;&#38024;&#65307;</li>
<li>&#25351;&#21521;<i>&#26080;&#38480;&#23450;</i>&#31867;&#22411;&#30340;&#25351;&#38024;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; <code>const volatile</code> &#30340;&#25351;&#38024;&#65307;</li>
<li>&#25351;&#21521; <code>const</code> &#31867;&#22411;&#30340;&#25351;&#38024;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; <code>const volatile</code> &#30340;&#25351;&#38024;&#65307;</li>
<li>&#25351;&#21521; <code>volatile</code> &#31867;&#22411;&#30340;&#25351;&#38024;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; <code>const volatile</code> &#30340;&#25351;&#38024;&#12290;</li>
</ul>
</dd>
</dl>
<p>&#23545;&#20110;&#22810;&#32423;&#25351;&#38024;&#65292;&#24212;&#29992;&#19979;&#21015;&#38480;&#21046;&#65306;&#36523;&#20026; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
0</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
1</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521;&hellip;&hellip; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
n-1</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
n</span></span> &#38480;&#23450; <code>T</code> &#30340;&#22810;&#32423;&#25351;&#38024; <code>P1</code>&#65292;&#21487;&#36716;&#25442;&#25104;&#36523;&#20026; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
0</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
1</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521;&hellip;&hellip; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
n-1</span></span> &#38480;&#23450;&#25351;&#38024;&#65292;&#25351;&#21521; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
n</span></span> &#38480;&#23450; <code>T</code> &#30340;&#22810;&#32423;&#25351;&#38024; <code>P2</code>&#65292;&#20165;&#24403;</p>
<dl>
<dd>
<ul>
<li>&#20004;&#20010;&#25351;&#38024;&#30340;&#32423;&#25968; <code>n</code> &#30456;&#21516;&#65307;</li>
</ul>
</dd>
</dl>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx20">
<td>
<dl>
<dd>
<ul>
<li>&#22312;&#28041;&#21450;&#25968;&#32452;&#31867;&#22411;&#30340;&#27599;&#19968;&#32423;&#65292;&#33267;&#23569;&#19968;&#20010;&#25968;&#32452;&#31867;&#22411;&#25317;&#26377;&#26410;&#30693;&#36793;&#30028;&#65292;&#25110;&#20004;&#20010;&#25968;&#32452;&#31867;&#22411;&#22343;&#25317;&#26377;&#30456;&#21516;&#22823;&#23567;&#65307;</li>
</ul>
</dd>
</dl>
</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
</table>
<dl>
<dd>
<ul>
<li>&#33509;&#22312; <code>P1</code> &#30340;&#26576;&#32423;&#65288;&#38500;&#20102;&#38646;&#32423;&#65289;&#30340; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
k</span></span> &#20013;&#26377; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span>&#65292;&#21017;&#22312; <code>P2</code> &#30340;&#21516;&#32423; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
k</span></span> &#20013;&#26377; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span>&#65307;</li>
<li>&#33509;&#22312; <code>P1</code> &#30340;&#26576;&#32423;&#65288;&#38500;&#20102;&#38646;&#32423;&#65289;&#30340; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">1<br />
k</span></span> &#20013;&#26377; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">volatile</span></span></span>&#65292;&#21017;&#22312; <code>P2</code> &#30340;&#21516;&#32423; <span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
k</span></span> &#20013;&#26377; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">volatile</span></span></span>&#65307;</li>
</ul>
</dd>
</dl>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx20">
<td>
<dl>
<dd>
<ul>
<li>&#33509;&#22312; <code>P1</code> &#30340;&#26576;&#32423;&#65288;&#38500;&#20102;&#38646;&#32423;&#65289;&#26377;&#26410;&#30693;&#36793;&#30028;&#25968;&#32452;&#31867;&#22411;&#65292;&#21017;&#22312; <code>P2</code> &#30340;&#21516;&#32423;&#26377;&#26410;&#30693;&#36793;&#30028;&#25968;&#32452;&#31867;&#22411;&#65307;</li>
</ul>
</dd>
</dl>
</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
</table>
<dl>
<dd>
<ul>
<li>&#33509;&#22312;&#26576;&#32423; <code>k</code> &#19978;&#65292;<code>P2</code> &#27604; <code>P1</code> &#26377;<i>&#26356;&#22810;</i> cv &#38480;&#23450;<span class="t-rev-inl t-since-cxx20"><span>&#25110; <code>P1</code> &#20013;&#26377;&#24050;&#30693;&#36793;&#30028;&#25968;&#32452;&#31867;&#22411;&#32780; <code>P2</code> &#20013;&#26377;&#26410;&#30693;&#36793;&#30028;&#25968;&#32452;&#31867;&#22411;</span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span>&#65292;&#21017; <code>P2</code> &#21040; <code>k</code> &#20026;&#27490;&#30340;&#27599;&#19968;&#32423;&#65288;&#38500;&#20102;&#38646;&#32423;&#65289;<span class="texhtml" style="white-space: nowrap;">cv<span class="t-su t-su-b">2<br />
1</span>, cv<span class="t-su t-su-b">2<br />
2</span> ... cv<span class="t-su t-su-b">2<br />
k</span></span> &#19978;&#37117;&#24517;&#39035;&#26377; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span> &#12290;</li>
<li>&#21516;&#26679;&#30340;&#35268;&#21017;&#29992;&#20110;&#25351;&#21521;&#25104;&#21592;&#30340;&#22810;&#32423;&#25351;&#38024;&#21450;&#25351;&#21521;&#23545;&#35937;&#21644;&#25351;&#21521;&#25104;&#21592;&#30340;&#22810;&#32423;&#28151;&#21512;&#25351;&#38024;&#65307;</li>
</ul>
</dd>
</dl>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx14">
<td>
<dl>
<dd>
<ul>
<li>&#21516;&#26679;&#30340;&#35268;&#21017;&#36866;&#29992;&#20110;&#21253;&#21547;&#20219;&#20309;&#32423;&#20026;&#25351;&#21521;&#24050;&#30693;&#36793;&#30028;&#25110;&#26410;&#30693;&#36793;&#30028;&#25968;&#32452;&#65288;&#35748;&#20026;&#26377; cv &#38480;&#23450;&#20803;&#32032;&#30340;&#25968;&#32452;&#33258;&#36523;&#26377;&#31561;&#21516;&#30340; cv &#38480;&#23450;&#65289;&#30340;&#22810;&#32423;&#25351;&#38024;&#65307;</li>
</ul>
</dd>
</dl>
</td>
<td><span class="t-mark-rev t-since-cxx14">(C++14 &#36215;)</span></td>
</tr>
</table>
<dl>
<dd>
<ul>
<li>&#38646;&#32423;&#30001;&#38750;&#22810;&#32423;&#38480;&#23450;&#24615;&#36716;&#25442;&#30340;&#35268;&#21017;&#22788;&#29702;&#12290;</li>
</ul>
</dd>
</dl>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">char</span><span class="sy2">**</span> p <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span>
<span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">**</span> p1 <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;2 &#32423;&#26377;&#26356;&#22810; cv &#38480;&#23450;&#20294; 1 &#32423;&#38750; const</span>
<span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> <span class="kw4">const</span> <span class="sy2">*</span> p2 <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// OK&#65306;2 &#32423;&#26377;&#26356;&#22810; cv &#38480;&#23450;&#24182;&#22312; 1 &#32423;&#28155;&#21152; const</span>
<span class="kw4">volatile</span> <span class="kw4">char</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="sy2">*</span> p3 <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// OK&#65306;2 &#32423;&#26356;&#26377; cv &#38480;&#23450;&#24182;&#22312; 1 &#32423;&#28155;&#21152; const</span>
<span class="kw4">volatile</span> <span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> <span class="kw4">const</span><span class="sy2">*</span> p4 <span class="sy1">=</span> p2<span class="sy4">;</span> <span class="co1">// OK&#65306;2 &#32423;&#26356;&#26377; cv &#38480;&#23450;&#32780; const &#24050;&#22312; 1 &#32423;</span>
<span class="kw4">double</span> <span class="sy2">*</span>a<span class="br0">[</span><span class="nu0">2</span><span class="br0">]</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span><span class="sy4">;</span>
<span class="kw4">double</span> <span class="kw4">const</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="br0">(</span><span class="sy2">*</span>ap<span class="br0">)</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span> <span class="sy1">=</span> a<span class="sy4">;</span> <span class="co1">// C++14 &#36215; OK</span>
<span class="kw4">double</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="br0">(</span><span class="sy2">*</span>ap1<span class="br0">)</span><span class="br0">[</span><span class="br0">]</span> <span class="sy1">=</span> a<span class="sy4">;</span> <span class="co1">// C++20 &#36215; OK</span></pre></div>
</div>
<p>&#27880;&#24847; C &#32534;&#31243;&#35821;&#35328;&#20013;&#65292;&#21482;&#33021;&#28155;&#21152; const/volatile &#21040;&#31532;&#19968;&#32423;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">char</span><span class="sy2">**</span> p <span class="sy1">=</span> <span class="nu0">0</span><span class="sy4">;</span>
<span class="kw4">char</span> <span class="sy2">*</span> <span class="kw4">const</span><span class="sy2">*</span> p1 <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// C &#19982; C++ &#20013; OK</span>
<span class="kw4">const</span> <span class="kw4">char</span><span class="sy2">*</span> <span class="kw4">const</span> <span class="sy2">*</span> p2 <span class="sy1">=</span> p<span class="sy4">;</span> <span class="co1">// C &#20013;&#38169;&#35823;&#65292;C++ &#20013; OK</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx17">
<td>
<h4><span class="mw-headline" id=".E5.87.BD.E6.95.B0.E6.8C.87.E9.92.88.E8.BD.AC.E6.8D.A2">&#20989;&#25968;&#25351;&#38024;&#36716;&#25442;</span></h4>
<dl>
<dd>
<ul>
<li>&#25351;&#21521;&#26080;&#25243;&#20986;&#20989;&#25968;&#30340;&#25351;&#38024;&#31867;&#22411;&#30340;<a href="cpp-language-value_category.html#.E7.BA.AF.E5.8F.B3.E5.80.BC">&#32431;&#21491;&#20540;</a>&#65292;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#28508;&#22312;&#25243;&#20986;&#20989;&#25968;&#30340;&#25351;&#38024;&#32431;&#21491;&#20540;&#12290;</li>
<li>&#25351;&#21521;&#26080;&#25243;&#20986;&#25104;&#21592;&#20989;&#25968;&#25351;&#38024;&#31867;&#22411;&#30340;&#32431;&#21491;&#20540;&#65292;&#21487;&#36716;&#25442;&#25104;&#25351;&#21521;&#28508;&#22312;&#25243;&#20986;&#25104;&#21592;&#20989;&#25968;&#30340;&#25351;&#38024;&#32431;&#21491;&#20540;&#12290;</li>
</ul>
</dd>
</dl>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">void</span> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> <span class="br0">(</span><span class="sy2">**</span>pp<span class="br0">)</span><span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span> <span class="sy1">=</span> <span class="sy3">&amp;</span>p<span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#19981;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; noexcept &#20989;&#25968;&#30340;&#25351;&#38024;</span>
<span class="kw1">struct</span> S
<span class="br0">{</span>
<span class="kw1">typedef</span> <span class="kw4">void</span> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
operator p<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">void</span> <span class="br0">(</span><span class="sy2">*</span>q<span class="br0">)</span><span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span> <span class="sy1">=</span> S<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#19981;&#33021;&#36716;&#25442;&#25104;&#25351;&#21521; noexcept &#20989;&#25968;&#30340;&#25351;&#38024;</span></pre></div>
</div>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.AE.89.E5.85.A8_bool_.E9.97.AE.E9.A2.98">&#23433;&#20840; bool &#38382;&#39064;</span></h3>
<p>&#22312; C++11 &#24341;&#20837;&#26174;&#24335;&#36716;&#25442;&#20989;&#25968;&#20043;&#21069;&#65292;&#35774;&#35745;&#19968;&#20010;&#33021;&#29992;&#20110;&#24067;&#23572;&#35821;&#22659;&#30340;&#31867;&#65288;&#27604;&#22914;&#65292;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">if</span><span class="br0">(</span>obj<span class="br0">)</span> <span class="br0">{</span> ... <span class="br0">}</span></span></span>&#65289;&#20250;&#20986;&#29616;&#38382;&#39064;&#65306;&#32473;&#23450;&#19968;&#20010;&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;&#20989;&#25968;&#65292;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp">T<span class="sy4">::</span><span class="me2">operator</span> <span class="kw4">bool</span><span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span>&#65292;&#21017;&#38544;&#24335;&#36716;&#25442;&#24207;&#21015;&#20801;&#35768;&#20877;&#22810;&#19968;&#27493;&#26631;&#20934;&#36716;&#25442;&#24207;&#21015;&#65292;&#20063;&#23601;&#26159; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> &#32467;&#26524;&#20250;&#36716;&#25442;&#25104; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#20801;&#35768;&#35832;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp">obj <span class="sy1">&lt;&lt;</span> <span class="nu0">1</span><span class="sy4">;</span></span></span> &#25110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span> i <span class="sy1">=</span> obj<span class="sy4">;</span></span></span> &#36825;&#26679;&#30340;&#20195;&#30721;&#12290;</p>
<p>&#19968;&#20010;&#26089;&#26399;&#30340;&#35299;&#20915;&#26041;&#26696;&#21487;&#21442;&#35265; <span class="t-lc"><a href="cpp-io-basic_ios.html">std::basic_ios</a></span>&#65292;&#23427;&#23450;&#20041; <span class="t-c"><span class="mw-geshi cpp source-cpp">operator<span class="sy3">!</span></span></span> &#21644; <span class="t-c"><span class="mw-geshi cpp source-cpp">operator <span class="kw4">void</span><span class="sy2">*</span></span></span><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span>&#65292;&#20351;&#24471;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">if</span><span class="br0">(</span><a href="cpp-io-cin.html"><span class="kw1756">std::<span class="me2">cin</span></span></a><span class="br0">)</span> <span class="br0">{</span>...<span class="br0">}</span></span></span> &#30340;&#20195;&#30721;&#33021;&#32534;&#35793;&#65292;&#22240;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span><span class="sy2">*</span></span></span> &#33021;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#65292;&#20294;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span> n <span class="sy1">=</span> <a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a><span class="sy4">;</span></span></span> &#19981;&#33021;&#65292;&#22240;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span><span class="sy2">*</span></span></span> &#19981;&#21487;&#36716;&#25442;&#33267; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#12290;&#36825;&#20173;&#28982;&#20801;&#35768;&#26080;&#24847;&#20041;&#20195;&#30721;&#33021;&#32534;&#35793;&#65292;&#22914; <span class="t-c"><span class="mw-geshi cpp source-cpp">delete <a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a><span class="sy4">;</span></span></span>&#12290;&#35768;&#22810; C++11 &#21069;&#30340;&#31532;&#19977;&#26041;&#24211;&#35774;&#35745;&#24102;&#26377;&#26356;&#20026;&#22797;&#26434;&#30340;&#35299;&#20915;&#26041;&#26696;&#65292;&#31216;&#20316;<a rel="nofollow" class="external text" href="http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Safe_bool">&#23433;&#20840; Bool &#25163;&#27861;</a>&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<p><a href="cpp-language-explicit.html">&#26174;&#24335; bool &#36716;&#25442;</a>&#20063;&#33021;&#29992;&#20110;&#35299;&#20915;&#23433;&#20840; bool &#38382;&#39064;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">explicit</span> operator <span class="kw4">bool</span><span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span> <span class="br0">{</span> ... <span class="br0">}</span></pre></div>
</div>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.84.9A.E6.B3.A8">&#33050;&#27880;</span></h3>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="cpp-language-implicit_cast.html#cite_ref-1">&uarr;</a></span> <span class="reference-text">&#20165;&#33509;&#31639;&#26415;&#20026;&#34917;&#30721;&#25165;&#20351;&#29992;&#65292;&#20165;&#23545;<a href="cpp-types-integer.html">&#23450;&#23485;&#25972;&#25968;&#31867;&#22411;</a>&#35201;&#27714;&#34917;&#30721;&#12290;&#28982;&#32780;&#27880;&#24847;&#30446;&#21069;&#25152;&#26377;&#25317;&#26377; C++ &#32534;&#35793;&#22120;&#30340;&#24179;&#21488;&#37117;&#20351;&#29992;&#34917;&#30721;&#31639;&#26415;&#12290;</span></li>
</ol>
<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.cmeerw.net/cwg/issue330">CWG 330</a></td>
<td>C++98</td>
<td>&#20174; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">double</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span></span></span> &#21040; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">double</span> <span class="kw4">const</span> <span class="sy2">*</span> <span class="kw4">const</span> <span class="br0">(</span><span class="sy2">*</span>p<span class="br0">)</span><span class="br0">[</span><span class="nu0">3</span><span class="br0">]</span></span></span> &#30340;&#36716;&#25442;&#38750;&#27861;</td>
<td>&#36716;&#25442;&#21512;&#27861;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue616">CWG 616</a></td>
<td>C++98</td>
<td>&#20219;&#20309;&#26410;&#21021;&#22987;&#21270;&#23545;&#35937;&#21644;&#25317;&#26377;&#38750;&#27861;&#20540;&#30340;&#25351;&#38024;&#23545;&#35937;&#30340;&#24038;&#20540;&#21040;&#21491;&#20540;&#30340;&#36716;&#25442;&#26159;&#26410;&#23450;&#20041;&#34892;&#20026;</td>
<td>&#20801;&#35768;&#19981;&#23450;&#20540;&#30340; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">char</span></span></span>&#65307;<br />
&#20351;&#29992;&#38750;&#27861;&#25351;&#38024;&#30001;&#23454;&#29616;&#23450;&#20041;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue1423">CWG 1423</a></td>
<td>C++11</td>
<td><span class="t-lc"><a href="cpp-types-nullptr_t.html">std::nullptr_t</a></span> &#22312;&#30452;&#25509;&#25110;&#22797;&#21046;&#21021;&#22987;&#21270;&#20013;&#21487;&#36716;&#25442;&#20026; <code>bool</code></td>
<td>&#21482;&#20801;&#35768;&#30452;&#25509;&#21021;&#22987;&#21270;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue1781">CWG 1781</a></td>
<td>C++11</td>
<td><span class="t-lc"><a href="cpp-types-nullptr_t.html">std::nullptr_t</a></span> &#21040; <code>bool</code> &#34987;&#35748;&#20026;&#26159;&#38544;&#24335;&#36716;&#25442;&#65292;&#23613;&#31649;&#21482;&#23545;&#30452;&#25509;&#21021;&#22987;&#21270;&#21512;&#27861;</td>
<td>&#19981;&#20877;&#35748;&#20026;&#23427;&#26159;&#38544;&#24335;&#36716;&#25442;</td>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue1787">CWG 1787</a></td>
<td>C++98</td>
<td>&#35835;&#21462;&#32531;&#23384;&#22312;&#23492;&#23384;&#22120;&#20013;&#30340;&#20013;&#38388; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">char</span></span></span> &#26159;&#26410;&#23450;&#20041;&#34892;&#20026;</td>
<td>&#36171;&#20104;&#20854;&#33391;&#22909;&#23450;&#20041;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<ul>
<li><a href="cpp-language-const_cast.html"><code>const_cast</code></a></li>
<li><a href="cpp-language-static_cast.html"><code>static_cast</code></a></li>
<li><a href="cpp-language-dynamic_cast.html"><code>dynamic_cast</code></a></li>
<li><a href="cpp-language-reinterpret_cast.html"><code>reinterpret_cast</code></a></li>
<li><a href="cpp-language-explicit_cast.html">&#26174;&#24335;&#36716;&#22411;</a></li>
<li><a href="cpp-language-cast_operator.html">&#29992;&#25143;&#23450;&#20041;&#36716;&#25442;</a></li>
</ul>
<table class="t-dsc-begin"></table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>