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

1205 lines
111 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>&#31639;&#26415;&#36816;&#31639;&#31526;</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_operator_arithmetic skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#31639;&#26415;&#36816;&#31639;&#31526;</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>&#36820;&#22238;&#29305;&#23450;&#31639;&#26415;&#36816;&#31639;&#30340;&#32467;&#26524;&#12290;</p>
<table class="wikitable" style="font-size:85%;">
<tr>
<th rowspan="2">&#36816;&#31639;&#31526;&#21517;</th>
<th rowspan="2">&#35821;&#27861;</th>
<th rowspan="2"><a href="cpp-language-operators.html">&#21487;&#37325;&#36733;</a></th>
<th colspan="2">&#21407;&#22411;&#31034;&#20363;&#65288;&#23545;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">class</span> T</span></span>&#65289;</th>
</tr>
<tr>
<th>&#31867;&#20869;&#23450;&#20041;</th>
<th>&#31867;&#22806;&#23450;&#20041;</th>
</tr>
<tr>
<td>&#19968;&#20803;&#21152;</td>
<td><code>+a</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">+</span><span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">+</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#19968;&#20803;&#20943;</td>
<td><code>-a</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">-</span><span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">-</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#21152;&#27861;</td>
<td><code>a + b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">+</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">+</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#20943;&#27861;</td>
<td><code>a - b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">-</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">-</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#20056;&#27861;</td>
<td><code>a * b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">*</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">*</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#38500;&#27861;</td>
<td><code>a / b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">/</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">/</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#27169;</td>
<td><code>a&nbsp;% b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy2">%</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy2">%</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#38750;</td>
<td><code>~a</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span>~<span class="br0">(</span><span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator~<span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#19982;</td>
<td><code>a &amp; b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy3">&amp;</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy3">&amp;</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#25110;</td>
<td><code>a | b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy3">|</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy3">|</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#24322;&#25110;</td>
<td><code>a ^ b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy3">^</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy3">^</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#24038;&#31227;</td>
<td><code>a &lt;&lt; b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy1">&lt;&lt;</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy1">&lt;&lt;</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>&#36880;&#20301;&#21491;&#31227;</td>
<td><code>a &gt;&gt; b</code></td>
<td style="background: #90ff90; color: black; vertical-align: middle; text-align: center;" class="table-yes">&#26159;</td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T T<span class="sy4">::</span><span class="me2">operator</span><span class="sy1">&gt;&gt;</span><span class="br0">(</span><span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span> <span class="kw4">const</span><span class="sy4">;</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">T operator<span class="sy1">&gt;&gt;</span><span class="br0">(</span><span class="kw4">const</span> T <span class="sy3">&amp;</span>a, <span class="kw4">const</span> T2 <span class="sy3">&amp;</span>b<span class="br0">)</span><span class="sy4">;</span></span></span></td>
</tr>
<tr>
<td>
<dl>
<dd><b>&#27880;&#35299;</b><br /></dd>
</dl>
<ul>
<li>&#25152;&#26377;&#20869;&#24314;&#36816;&#31639;&#31526;&#37117;&#36820;&#22238;&#20540;&#65292;&#32780;&#22823;&#22810;&#25968;<a href="cpp-language-operators.html">&#29992;&#25143;&#23450;&#20041;&#37325;&#36733;</a>&#20134;&#36820;&#22238;&#20540;&#65292;&#20174;&#32780;&#33021;&#20197;&#19982;&#20869;&#24314;&#29256;&#26412;&#30456;&#21516;&#30340;&#26041;&#24335;&#20351;&#29992;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#12290;&#19981;&#36807;&#65292;&#29992;&#25143;&#23450;&#20041;&#37325;&#36733;&#20013;&#65292;&#20219;&#20309;&#31867;&#22411;&#37117;&#21487;&#20197;&#20316;&#20026;&#36820;&#22238;&#31867;&#22411;&#65288;&#21253;&#25324; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span></span></span>&#65289;&#12290;&#29305;&#21035;&#26159;&#65292;<code>operator&lt;&lt;</code> &#21644; <code>operator&gt;&gt;</code> &#20026;&#27969;&#25554;&#20837;&#21644;&#27969;&#25277;&#21462;&#30340;&#37325;&#36733;&#25152;&#36820;&#22238;&#30340;&#26159; <code>T&amp;</code>&#12290;</li>
<li><code>T2</code> &#21487;&#20197;&#20026;&#21253;&#25324; <code>T</code> &#22312;&#20869;&#30340;&#20219;&#20309;&#31867;&#22411;&#12290;</li>
</ul>
</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E8.A7.A3.E9.87.8A">&#35299;&#37322;</span></h3>
<p>&#25152;&#26377;&#31639;&#26415;&#36816;&#31639;&#31526;&#35745;&#31639;&#29305;&#23450;&#31639;&#26415;&#36816;&#31639;&#30340;&#32467;&#26524;&#65292;&#24182;&#36820;&#22238;&#20854;&#32467;&#26524;&#12290;&#19981;&#20462;&#25913;&#23454;&#21442;&#12290;</p>
<h4><span class="mw-headline" id=".E8.BD.AC.E6.8D.A2">&#36716;&#25442;</span></h4>
<p>&#33509;&#20256;&#36882;&#32473;&#31639;&#26415;&#36816;&#31639;&#31526;&#30340;&#25805;&#20316;&#25968;&#26159;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#65292;&#21017;&#22312;&#20219;&#20309;&#20854;&#20182;&#34892;&#21160;&#21069;&#65288;&#20294;&#22312;&#24038;&#20540;&#21040;&#21491;&#20540;&#36716;&#25442;&#21518;&#65292;&#33509;&#20854;&#36866;&#29992;&#65289;&#65292;&#23545;&#25805;&#20316;&#25968;&#23454;&#26045;<a href="cpp-language-implicit_conversion.html#.E6.95.B4.E5.9E.8B.E6.8F.90.E5.8D.87">&#25972;&#22411;&#25552;&#21319;</a>&#12290;&#33509;&#25805;&#20316;&#25968;&#20043;&#19968;&#20855;&#26377;&#25968;&#32452;&#25110;&#20989;&#25968;&#31867;&#22411;&#65292;&#21017;&#23454;&#26045;<a href="cpp-language-implicit_conversion.html#.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;</a>&#21644;<a href="cpp-language-implicit_conversion.html#.E5.87.BD.E6.95.B0.E5.88.B0.E6.8C.87.E9.92.88">&#20989;&#25968;&#21040;&#25351;&#38024;</a>&#36716;&#25442;&#12290;</p>
<p>&#23545;&#20110;&#65288;&#38500;&#31227;&#20301;&#20043;&#22806;&#30340;&#65289;&#20108;&#20803;&#36816;&#31639;&#31526;&#65292;&#24403;&#25552;&#21319;&#21518;&#30340;&#25805;&#20316;&#25968;&#25317;&#26377;&#19981;&#21516;&#31867;&#22411;&#26102;&#65292;&#23454;&#26045;&#31216;&#20026;<i>&#19968;&#33324;&#31639;&#26415;&#36716;&#25442; (usual arithmetic conversion)</i>&#30340;&#19968;&#32452;&#39069;&#22806;&#30340;&#38544;&#24335;&#36716;&#25442;&#65292;&#30446;&#30340;&#26159;&#20135;&#29983;<i>&#20844;&#20849;&#31867;&#22411; (common type)</i>&#65288;&#20134;&#21487;&#30001; <span class="t-lc"><a href="cpp-types-common_type.html">std::common_type</a></span> &#31867;&#22411;&#29305;&#24615;&#35775;&#38382;&#65289;&#12290;<span class="t-rev-inl t-since-cxx20"><span>&#33509;&#22312;&#20219;&#20309;&#25972;&#22411;&#25552;&#21319;&#21069;&#65292;&#19968;&#20010;&#25805;&#20316;&#25968;&#20026;&#26522;&#20030;&#31867;&#22411;&#32780;&#21478;&#19968;&#25805;&#20316;&#25968;&#20026;&#28014;&#28857;&#31867;&#22411;&#25110;&#19981;&#21516;&#30340;&#26522;&#20030;&#31867;&#22411;&#65292;&#21017;&#27492;&#34892;&#20026;&#34987;&#24323;&#29992;&#12290;</span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span></p>
<ul>
<li>&#33509;&#20219;&#19968;&#25805;&#20316;&#25968;&#20855;&#26377;<a href="cpp-language-enum.html#.E6.9C.89.E4.BD.9C.E7.94.A8.E5.9F.9F.E6.9E.9A.E4.B8.BE">&#26377;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;</a>&#65292;&#21017;&#19981;&#36827;&#34892;&#36716;&#25442;&#65306;&#21478;&#19968;&#25805;&#20316;&#25968;&#21644;&#36820;&#22238;&#31867;&#22411;&#24517;&#39035;&#20855;&#26377;&#30456;&#21516;&#31867;&#22411;</li>
</ul>
<ul>
<li>&#21542;&#21017;&#65292;&#33509;&#20219;&#19968;&#25805;&#20316;&#25968;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span> <span class="kw4">double</span></span></span>&#65292;&#21017;&#23558;&#21478;&#19968;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">long</span> <span class="kw4">double</span></span></span></li>
</ul>
<ul>
<li>&#21542;&#21017;&#65292;&#33509;&#20219;&#19968;&#25805;&#20316;&#25968;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">double</span></span></span>&#65292;&#21017;&#23558;&#21478;&#19968;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">double</span></span></span></li>
</ul>
<ul>
<li>&#21542;&#21017;&#65292;&#33509;&#20219;&#19968;&#25805;&#20316;&#25968;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">float</span></span></span>&#65292;&#21017;&#23558;&#21478;&#19968;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">float</span></span></span></li>
</ul>
<ul>
<li>&#21542;&#21017;&#65292;&#25805;&#20316;&#25968;&#25317;&#26377;&#25972;&#25968;&#31867;&#22411;&#65288;&#22240;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp">char8_t</span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char16_t</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char32_t</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">wchar_t</span></span></span> &#21644;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#22312;&#27492;&#26102;&#24050;&#34987;&#25552;&#21319;&#65289;&#65292;&#24182;&#23545;&#20854;&#23454;&#26045;<a href="cpp-language-implicit_conversion.html#.E6.95.B4.E5.9E.8B.E8.BD.AC.E6.8D.A2">&#25972;&#22411;&#36716;&#25442;</a>&#20197;&#20135;&#29983;&#22914;&#19979;&#30340;&#20844;&#20849;&#31867;&#22411;&#65306;</li>
</ul>
<dl>
<dd>
<ul>
<li>&#33509;&#20004;&#20010;&#25805;&#20316;&#25968;&#22343;&#20026;&#26377;&#31526;&#21495;&#25110;&#22343;&#20026;&#26080;&#31526;&#21495;&#65292;&#21017;&#23558;&#25317;&#26377;&#36739;&#23567;<i>&#36716;&#25442;&#31561;&#32423;</i>&#30340;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026;&#25317;&#26377;&#36739;&#22823;&#25972;&#25968;&#36716;&#25442;&#31561;&#32423;&#30340;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#12290;</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>&#21542;&#21017;&#65292;&#33509;&#26080;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#36716;&#25442;&#31561;&#32423;&#22823;&#20110;&#25110;&#31561;&#20110;&#26377;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#36716;&#25442;&#31561;&#32423;&#65292;&#21017;&#23558;&#26377;&#31526;&#21495;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026;&#26080;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#12290;</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>&#21542;&#21017;&#65292;&#33509;&#26377;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#33021;&#34920;&#31034;&#26080;&#31526;&#21495;&#25805;&#20316;&#25968;&#31867;&#22411;&#30340;&#25152;&#26377;&#20540;&#65292;&#21017;&#23558;&#26080;&#31526;&#21495;&#25805;&#20316;&#25968;&#36716;&#25442;&#20026;&#26377;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#12290;</li>
</ul>
</dd>
</dl>
<dl>
<dd>
<ul>
<li>&#21542;&#21017;&#65292;&#23558;&#20004;&#20010;&#25805;&#20316;&#25968;&#37117;&#36716;&#25442;&#20026;&#26377;&#31526;&#21495;&#25805;&#20316;&#25968;&#30340;&#26080;&#31526;&#21495;&#23545;&#24212;&#29256;&#26412;&#12290;</li>
</ul>
</dd>
</dl>
<p><i>&#36716;&#25442;&#31561;&#32423;&#65288;conversion rank&#65289;</i>&#25353; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">signed</span> <span class="kw4">char</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">short</span></span></span>&#12289;<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">long</span></span></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> &#39034;&#24207;&#36882;&#22686;&#12290;&#20219;&#20309;&#26080;&#31526;&#21495;&#31867;&#22411;&#30340;&#31561;&#32423;&#37117;&#31561;&#20110;&#20854;&#23545;&#24212;&#30340;&#26377;&#31526;&#21495;&#31867;&#22411;&#30340;&#31561;&#32423;&#12290;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span> &#30340;&#31561;&#32423;&#31561;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">signed</span> <span class="kw4">char</span></span></span> &#21644; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">char</span></span></span> &#30340;&#31561;&#32423;&#12290;<span class="t-c"><span class="mw-geshi cpp source-cpp">char8_t</span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char16_t</span></span></span>&#12289;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char32_t</span></span></span> &#21644; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">wchar_t</span></span></span> &#30340;&#31561;&#32423;&#31561;&#20110;&#20854;&#24213;&#23618;&#31867;&#22411;&#30340;&#31561;&#32423;&#12290;</p>
<h4><span class="mw-headline" id=".E6.BA.A2.E5.87.BA">&#28322;&#20986;</span></h4>
<p>&#26080;&#31526;&#21495;&#25972;&#25968;&#31639;&#26415;&#22987;&#32456;&#36827;&#34892; <span class="texhtml" style="white-space: nowrap;">modulo 2<span class="t-su">n<br /></span></span>&#65292;&#20854;&#20013; n &#26159;&#35813;&#25972;&#25968;&#30340;&#20301;&#25968;&#12290;&#20363;&#22914;&#23545;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">unsigned</span> <span class="kw4">int</span></span></span>&#65292;&#21521; <span class="t-lc"><a href="cpp-types-climits.html">UINT_MAX</a></span> &#21152;&#19968;&#24471;&#21040; <span class="t-c"><span class="mw-geshi cpp source-cpp">&#8203;<span class="nu0">0</span>&#8203;</span></span>&#65292;&#32780;&#20174; <span class="t-c"><span class="mw-geshi cpp source-cpp">&#8203;<span class="nu0">0</span>&#8203;</span></span> &#20943;&#19968;&#24471;&#21040; <span class="t-lc"><a href="cpp-types-climits.html">UINT_MAX</a></span>&#12290;</p>
<p>&#26377;&#31526;&#21495;&#25972;&#25968;&#31639;&#26415;&#36816;&#31639;&#28322;&#20986;&#65288;&#32467;&#26524;&#31867;&#22411;&#26080;&#27861;&#23481;&#32435;&#20854;&#32467;&#26524;&#65289;&#26102;&#65292;&#34892;&#20026;&#26410;&#23450;&#20041;&#65292;&#27492;&#31867;&#25805;&#20316;&#21487;&#33021;&#20250;&#34920;&#29616;&#20026;&#65306;</p>
<ul>
<li>&#25353;&#29031;&#34920;&#31034;&#27861;&#30340;&#35268;&#21017;&#65288;&#20856;&#22411;&#20026;&#34917;&#30721;&#65289;&#21457;&#29983;&#22238;&#32469;&#65292;</li>
</ul>
<ul>
<li>&#22312;&#26576;&#20123;&#24179;&#21488;&#19978;&#25110;&#30001;&#20110;&#32534;&#35793;&#22120;&#36873;&#39033;&#65288;&#20363;&#22914; GCC &#21644; Clang &#20013;&#30340; <code>-ftrapv</code>&#65289;&#24341;&#21457;&#38519;&#38449;&#65292;</li>
</ul>
<ul>
<li>&#22312;&#26576;&#20123;&#26102;&#20505;&#25130;&#26029;&#21040;&#26368;&#23567;&#25110;&#26368;&#22823;&#20540;&#65288;&#22312;&#35768;&#22810; DSP &#19978;&#65289;</li>
</ul>
<ul>
<li>&#23436;&#20840;<a rel="nofollow" class="external text" href="http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html">&#34987;&#32534;&#35793;&#22120;&#20248;&#21270;&#25481;</a>&#12290;</li>
</ul>
<h4><span class="mw-headline" id=".E6.B5.AE.E7.82.B9.E7.8E.AF.E5.A2.83">&#28014;&#28857;&#29615;&#22659;</span></h4>
<p>&#33509;&#25903;&#25345; <a href="cpp-preprocessor-impl.html"><tt>#pragma STDC FENV_ACCESS</tt></a> &#24182;&#35774;&#32622;&#23427;&#20026; <code>ON</code>&#65292;&#21017;&#25152;&#26377;&#28014;&#28857;&#31639;&#26415;&#36816;&#31639;&#31526;&#37117;&#26381;&#20174;&#24403;&#21069;&#28014;&#28857;<a href="cpp-numeric-fenv-FE_round.html">&#33293;&#20837;&#26041;&#21521;</a>&#65292;&#24182;&#25253;&#21578; <a href="cpp-numeric-math-math_errhandling.html"><tt>math_errhandling</tt></a> &#20013;&#25351;&#23450;&#30340;&#28014;&#28857;&#31639;&#26415;&#38169;&#35823;&#65292;&#38500;&#38750;&#26159;&#21457;&#29983;&#20110;<a href="cpp-language-initialization.html#.E9.9D.9E.E5.B1.80.E9.83.A8.E5.8F.98.E9.87.8F">&#38745;&#24577;&#21021;&#22987;&#21270;&#22120;</a>&#20043;&#20013;&#65288;&#35813;&#24773;&#20917;&#19979;&#19981;&#24341;&#21457;&#28014;&#28857;&#24322;&#24120;&#65292;&#19988;&#33293;&#20837;&#27169;&#24335;&#20026;&#26368;&#36817;&#33293;&#20837;&#65289;&#12290;</p>
<h4><span class="mw-headline" id=".E6.B5.AE.E7.82.B9.E7.BC.A9.E7.95.A5">&#28014;&#28857;&#32553;&#30053;</span></h4>
<p>&#38500;&#38750;&#25903;&#25345; <a href="cpp-preprocessor-impl.html"><tt>#pragma STDC FP_CONTRACT</tt></a> &#24182;&#35774;&#32622;&#23427;&#20026; <code>OFF</code>&#65292;&#21542;&#21017;&#25152;&#26377;&#28014;&#28857;&#31639;&#26415;&#37117;&#21487;&#20197;&#22914;&#21516;&#20854;&#20013;&#38388;&#32467;&#26524;&#25317;&#26377;&#26080;&#38480;&#33539;&#22260;&#21644;&#31934;&#24230;&#19968;&#33324;&#36827;&#34892;&#65292;&#21363;&#20801;&#35768;&#23454;&#26045;&#30465;&#30053;&#33293;&#20837;&#35823;&#24046;&#21644;&#28014;&#28857;&#24322;&#24120;&#30340;&#20248;&#21270;&#12290;&#20363;&#22914; C++ &#20801;&#35768;&#20197;&#21333;&#26465;&#34701;&#21512;&#20056;&#21152; CPU &#25351;&#20196;&#26469;&#23454;&#29616; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span>x<span class="sy2">*</span>y<span class="br0">)</span> <span class="sy2">+</span> z</span></span>&#65292;&#25110;&#25226; <span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">=</span> x<span class="sy2">*</span>x<span class="sy2">*</span>x<span class="sy2">*</span>x<span class="sy4">;</span></span></span> &#20248;&#21270;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp">tmp <span class="sy1">=</span> x <span class="sy2">*</span>x<span class="sy4">;</span> a <span class="sy1">=</span> tmp<span class="sy2">*</span>tmp</span></span>&#12290;</p>
<p>&#26080;&#20851;&#20046;&#32553;&#30053;&#65292;&#28014;&#28857;&#31639;&#26415;&#30340;&#20013;&#38388;&#32467;&#26524;&#21487;&#25317;&#26377;&#19982;&#20854;&#31867;&#22411;&#25152;&#25351;&#23450;&#19981;&#21516;&#30340;&#33539;&#22260;&#21644;&#31934;&#24230;&#65292;&#35265; <span class="t-lc"><a href="cpp-types-climits-FLT_EVAL_METHOD.html">FLT_EVAL_METHOD</a></span>&#12290;</p>
<p>&#27491;&#24335;&#26469;&#35762;&#65292;C++ &#26631;&#20934;&#19981;&#22312;&#28014;&#28857;&#36816;&#31639;&#30340;&#31934;&#24230;&#19978;&#20570;&#20219;&#20309;&#20445;&#35777;&#12290;</p>
<h4><span class="mw-headline" id=".E4.B8.80.E5.85.83.E7.AE.97.E6.9C.AF.E8.BF.90.E7.AE.97.E7.AC.A6">&#19968;&#20803;&#31639;&#26415;&#36816;&#31639;&#31526;</span></h4>
<p>&#19968;&#20803;&#31639;&#26415;&#36816;&#31639;&#31526;&#34920;&#36798;&#24335;&#30340;&#24418;&#24335;&#20026;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>+</b></code> <span class="t-spar">&#34920;&#36798;&#24335;</span></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><code><b>-</b></code> <span class="t-spar">&#34920;&#36798;&#24335;</span></td>
<td>(2)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#19968;&#20803;&#21152;&#65288;&#25552;&#21319;&#65289;&#12290;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#34920;&#36798;&#24335;</span> &#24517;&#39035;&#25317;&#26377;&#31639;&#26415;&#12289;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#25110;&#25351;&#38024;&#31867;&#22411;&#12290;&#33509;&#25805;&#20316;&#25968;&#20855;&#26377;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#65292;&#21017;&#23545;&#20854;&#23454;&#26045;&#25972;&#22411;&#25552;&#21319;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</div>
<div class="t-li1"><span class="t-li">2)</span> &#19968;&#20803;&#20943;&#65288;&#21462;&#21453;&#65289;&#12290;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#34920;&#36798;&#24335;</span> &#24517;&#39035;&#25317;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#23545;&#25805;&#20316;&#25968;&#23454;&#26045;&#25972;&#22411;&#25552;&#21319;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</div>
<p>&#20869;&#24314;&#30340;&#19968;&#20803;&#21152;&#36816;&#31639;&#31526;&#36820;&#22238;&#20854;&#25805;&#20316;&#25968;&#30340;&#20540;&#12290;&#20165;&#26377;&#30340;&#38750;&#26080;&#25805;&#20316;&#24773;&#24418;&#65292;&#26159;&#24403;&#25805;&#20316;&#25968;&#25317;&#26377;&#25972;&#22411;&#31867;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#26102;&#65292;&#23427;&#23558;&#34987;&#25972;&#22411;&#25552;&#21319;&#25152;&#26356;&#25913;&#65292;&#20363;&#22914;&#23558; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">char</span></span></span> &#36716;&#25442;&#20026; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">int</span></span></span>&#65292;&#25110;&#32773;&#24403;&#25805;&#20316;&#25968;&#26381;&#20174;&#24038;&#20540;&#21040;&#21491;&#20540;&#12289;&#25968;&#32452;&#21040;&#25351;&#38024;&#25110;&#20989;&#25968;&#21040;&#25351;&#38024;&#36716;&#25442;&#26102;&#12290;</p>
<p>&#20869;&#24314;&#30340;&#19968;&#20803;&#20943;&#36816;&#31639;&#31526;&#35745;&#31639;&#20854;&#25552;&#21319;&#21518;&#25805;&#20316;&#25968;&#30340;&#30456;&#21453;&#25968;&#12290;&#23545;&#20110;&#26080;&#31526;&#21495;&#30340; <code>a</code>&#65292;<code>-a</code> &#30340;&#20540;&#20026; <span class="texhtml" style="white-space: nowrap;">2<span class="t-su">b<br /></span>-a</span>&#65292;&#20854;&#20013; <code>b</code> &#20026;&#25552;&#21319;&#21518;&#30340;&#20301;&#25968;&#12290;</p>
<p>&#22312;<a href="cpp-language-overload_resolution.html#.E8.B0.83.E7.94.A8.E9.87.8D.E8.BD.BD.E8.BF.90.E7.AE.97.E7.AC.A6">&#38024;&#23545;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#30340;&#37325;&#36733;&#20915;&#35758;</a>&#20013;&#65292;&#23545;&#20110;&#27599;&#20010; cv &#26080;&#38480;&#23450;&#30340;&#25552;&#21319;&#21518;&#31639;&#26415;&#31867;&#22411; <code>A</code> &#21644;&#27599;&#20010;&#31867;&#22411; <code>T</code>&#65292;&#19979;&#21015;&#20989;&#25968;&#31614;&#21517;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#65306;</p>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">A operator<span class="sy2">+</span><span class="br0">(</span>A<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">T<span class="sy2">*</span> operator<span class="sy2">+</span><span class="br0">(</span>T<span class="sy2">*</span><span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">A operator<span class="sy2">-</span><span class="br0">(</span>A<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<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;iostream&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">char</span> c <span class="sy1">=</span> <span class="nu12">0x6a</span><span class="sy4">;</span>
<span class="kw4">int</span> n1 <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<span class="kw4">unsigned</span> <span class="kw4">char</span> n2 <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<span class="kw4">unsigned</span> <span class="kw4">int</span> n3 <span class="sy1">=</span> <span class="nu0">1</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;char&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> c <span class="sy1">&lt;&lt;</span> <span class="st0">&quot; int&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">+</span>c <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; signed &#26102;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">-</span>n1 <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; unsigned char &#26102;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">-</span>n2 <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; unsigned int &#26102;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">-</span>n3 <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="kw4">char</span> a<span class="br0">[</span><span class="nu0">3</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> <span class="st0">&quot;&#25968;&#32452;&#22823;&#23567;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> sizeof a <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#25351;&#38024;&#22823;&#23567;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> sizeof <span class="sy2">+</span>a <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="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">char&#65306;j int&#65306;106
-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; signed &#26102;&#65306;-1
-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; unsigned char &#26102;&#65306;-1
-1&#65292;&#24403; 1 &#30340;&#31867;&#22411;&#26159; unsigned int &#26102;&#65306;4294967295
&#25968;&#32452;&#22823;&#23567;&#65306;3
&#25351;&#38024;&#22823;&#23567;&#65306;8</pre></div>
</div>
</div>
<h4><span class="mw-headline" id=".E5.8A.A0.E6.80.A7.E8.BF.90.E7.AE.97.E7.AC.A6">&#21152;&#24615;&#36816;&#31639;&#31526;</span></h4>
<p>&#20108;&#20803;&#21152;&#24615;&#31639;&#26415;&#36816;&#31639;&#31526;&#34920;&#36798;&#24335;&#30340;&#24418;&#24335;&#20026;</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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>+</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>-</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></td>
<td>(2)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#21152;&#27861;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#20026;&#19979;&#21015;&#20043;&#19968;&#65306;
<dl>
<dd>
<ul>
<li>&#37117;&#25317;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#23545;&#20004;&#20010;&#25805;&#20316;&#25968;&#37117;&#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</li>
<li>&#19968;&#20010;&#26159;&#25351;&#21521;&#23436;&#25972;&#23450;&#20041;&#30340;&#23545;&#35937;&#30340;&#25351;&#38024;&#31867;&#22411;&#65292;&#21478;&#19968;&#20010;&#25317;&#26377;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#27492;&#24773;&#20917;&#19979;&#65292;&#32467;&#26524;&#20855;&#26377;&#25351;&#38024;&#30340;&#31867;&#22411;&#12290;</li>
</ul>
</dd>
</dl>
</div>
<div class="t-li1"><span class="t-li">2)</span> &#20943;&#27861;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#20026;&#19979;&#21015;&#20043;&#19968;&#65306;
<dl>
<dd>
<ul>
<li>&#37117;&#25317;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#23545;&#20004;&#20010;&#25805;&#20316;&#25968;&#37117;&#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</li>
<li><span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#20026;&#25351;&#21521;&#23436;&#25972;&#23450;&#20041;&#30340;&#23545;&#35937;&#31867;&#22411;&#30340;&#25351;&#38024;&#65292;<span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#25317;&#26377;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#27492;&#24773;&#20917;&#19979;&#65292;&#32467;&#26524;&#20855;&#26377;&#25351;&#38024;&#30340;&#31867;&#22411;&#12290;</li>
<li>&#24573;&#30053; cv &#38480;&#23450;&#31526;&#26102;&#65292;&#20004;&#32773;&#37117;&#26159;&#25351;&#21521;&#30456;&#21516;&#23436;&#25972;&#23450;&#20041;&#30340;&#23545;&#35937;&#31867;&#22411;&#30340;&#25351;&#38024;&#12290;&#27492;&#24773;&#20917;&#19979;&#65292;&#32467;&#26524;&#31867;&#22411;&#20026; <span class="t-lc"><a href="cpp-types-ptrdiff_t.html">std::ptrdiff_t</a></span>&#12290;</li>
</ul>
</dd>
</dl>
</div>
<p>&#23545;&#20110;&#31639;&#26415;&#25110;&#26522;&#20030;&#31867;&#22411;&#30340;&#25805;&#20316;&#25968;&#65292;&#20108;&#20803;&#21152;&#30340;&#32467;&#26524;&#26159;&#25805;&#20316;&#25968;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#21644;&#65292;&#32780;&#20108;&#20803;&#20943;&#36816;&#31639;&#31526;&#30340;&#32467;&#26524;&#26159;&#31532;&#19968;&#25805;&#20316;&#25968;&#20943;&#21435;&#31532;&#20108;&#25805;&#20316;&#25968;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#32467;&#26524;&#65292;&#20294;&#26159;&#65292;&#22914;&#26524;&#35813;&#31867;&#22411;&#25903;&#25345; IEEE &#28014;&#28857;&#31639;&#26415;&#65288;&#35265; <span class="t-lc"><a href="cpp-types-numeric_limits-is_iec559.html">std::numeric_limits::is_iec559</a></span>&#65289;&#65292;</p>
<dl>
<dd>
<ul>
<li>&#33509;&#25805;&#20316;&#25968;&#20043;&#19968;&#20026; NaN&#65292;&#21017;&#32467;&#26524;&#20026; NaN</li>
<li>&#26080;&#31351;&#20943;&#26080;&#31351;&#20026; NaN&#65292;&#24182;&#24341;&#21457; <span class="t-lc"><a href="cpp-numeric-fenv-FE_exceptions.html">FE_INVALID</a></span></li>
<li>&#26080;&#31351;&#21152;&#36127;&#26080;&#31351;&#20026; NaN&#65292;&#24182;&#24341;&#21457; <span class="t-lc"><a href="cpp-numeric-fenv-FE_exceptions.html">FE_INVALID</a></span></li>
</ul>
</dd>
</dl>
<p>&#33509;&#20219;&#20309;&#25805;&#20316;&#25968;&#20026;&#25351;&#38024;&#65292;&#21017;&#36866;&#29992;&#19979;&#21015;&#35268;&#21017;&#65306;</p>
<ul>
<li>&#25226;&#25351;&#21521;&#38750;&#25968;&#32452;&#23545;&#35937;&#30340;&#25351;&#38024;&#24403;&#20570;&#25351;&#21521;&#22823;&#23567;&#20026; 1 &#30340;&#25968;&#32452;&#30340;&#39318;&#20803;&#32032;&#30340;&#25351;&#38024;&#12290;</li>
<li>&#33509;&#25351;&#38024; <code>P</code> &#25351;&#21521;&#25968;&#32452;&#30340;&#31532; <code>i</code> &#20010;&#20803;&#32032;&#65292;&#21017;&#34920;&#36798;&#24335; <code>P+n</code>&#12289;<code>n+P</code> &#21644; <code>P-n</code> &#20998;&#21035;&#26159;&#25351;&#21521;&#21516;&#19968;&#25968;&#32452;&#30340;&#31532; <code>i+n</code>&#12289;&#31532; <code>i+n</code> &#21644;&#31532; <code>i-n</code> &#20010;&#20803;&#32032;&#30340;&#21516;&#31867;&#22411;&#25351;&#38024;&#12290;&#25351;&#38024;&#21152;&#27861;&#30340;&#32467;&#26524;&#20134;&#21487;&#20026;&#26411;&#23614;&#21518;&#19968;&#20301;&#32622;&#65288;one past the end&#65289;&#30340;&#25351;&#38024;&#65288;&#21363;&#20351;&#24471; <code>P-1</code> &#25351;&#21521;&#25968;&#32452;&#26411;&#20803;&#32032;&#30340;&#25351;&#38024; <code>P</code>&#65289;&#12290;&#20219;&#20309;&#20854;&#20182;&#24773;&#24418;&#65288;&#21363;&#35797;&#22270;&#29983;&#25104;&#19981;&#25351;&#21521;&#21516;&#19968;&#25968;&#32452;&#30340;&#20219;&#20309;&#20803;&#32032;&#25110;&#21516;&#19968;&#25968;&#32452;&#26411;&#23614;&#21518;&#19968;&#20301;&#32622;&#30340;&#25351;&#38024;&#65289;&#22343;&#24341;&#36215;&#26410;&#23450;&#20041;&#34892;&#20026;&#12290;</li>
<li>&#33509;&#25351;&#38024; <code>P</code> &#25351;&#21521;&#25968;&#32452;&#30340;&#31532; <code>i</code> &#20010;&#20803;&#32032;&#65292;&#32780;&#25351;&#38024; <code>Q</code> &#25351;&#21521;&#21516;&#19968;&#25968;&#32452;&#30340;&#31532; <code>j</code> &#20010;&#20803;&#32032;&#65292;&#21017;&#34920;&#36798;&#24335; <code>P-Q</code> &#25317;&#26377;&#20540; <span class="t-c"><span class="mw-geshi cpp source-cpp">i<span class="sy2">-</span>j</span></span>&#65288;&#33509; <span class="t-lc"><a href="cpp-types-ptrdiff_t.html">std::ptrdiff_t</a></span> &#21487;&#23481;&#32435;&#35813;&#20540;&#65289;&#12290;&#20004;&#20010;&#25805;&#20316;&#25968;&#37117;&#24517;&#39035;&#25351;&#21521;&#21516;&#19968;&#25968;&#32452;&#30340;&#20803;&#32032;&#65288;&#25110;&#26411;&#23614;&#21518;&#19968;&#20301;&#32622;&#65289;&#65292;&#21542;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;&#33509;&#32467;&#26524;&#19981;&#33021;&#30001; <span class="t-lc"><a href="cpp-types-ptrdiff_t.html">std::ptrdiff_t</a></span> &#23481;&#32435;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</li>
<li>&#20219;&#20309;&#24773;&#20917;&#19979;&#65292;&#22914;&#26524;&#25152;&#25351;&#21521;&#30340;&#31867;&#22411;&#19982;&#25968;&#32452;&#20803;&#32032;&#31867;&#22411;&#19981;&#21516;&#65288;&#20854;&#20013;&#23545;&#20110;&#27599;&#19968;&#23618;&#20803;&#32032;&#65292;&#33509;&#23427;&#20204;&#33258;&#36523;&#21363;&#20026;&#25351;&#38024;&#65292;&#21017;&#19981;&#32771;&#34385;&#20854; cv &#38480;&#23450;&#24615;&#65289;&#65292;&#21017;&#25351;&#38024;&#31639;&#26415;&#30340;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;&#29305;&#21035;&#26159;&#65292;&#20197;&#25351;&#21521;&#26576;&#20010;&#27966;&#29983;&#23545;&#35937;&#25968;&#32452;&#20013;&#30340;&#20803;&#32032;&#30340;&#25351;&#21521;&#22522;&#31867;&#25351;&#38024;&#20570;&#25351;&#38024;&#31639;&#26415;&#26159;&#26410;&#23450;&#20041;&#30340;&#12290;</li>
<li>&#23545;&#25351;&#38024;&#21152;&#25110;&#20943; <span class="t-c"><span class="mw-geshi cpp source-cpp">&#8203;<span class="nu0">0</span>&#8203;</span></span>&#65292;&#32467;&#26524;&#23601;&#26159;&#35813;&#25351;&#38024;&#65292;&#27809;&#26377;&#26356;&#25913;&#12290;&#33509;&#20004;&#20010;&#25351;&#38024;&#25351;&#21521;&#21516;&#19968;&#23545;&#35937;&#65292;&#25110;&#37117;&#25351;&#21521;&#21516;&#19968;&#25968;&#32452;&#30340;&#26411;&#23614;&#21518;&#19968;&#20301;&#32622;&#65292;&#25110;&#37117;&#26159;&#31354;&#25351;&#38024;&#65292;&#21017;&#20943;&#27861;&#30340;&#32467;&#26524;&#31561;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span><a href="cpp-types-ptrdiff_t.html"><span class="kw101">std::<span class="me2">ptrdiff_t</span></span></a><span class="br0">)</span><span class="nu0">0</span></span></span>&#12290;</li>
</ul>
<p>&#36825;&#20123;&#25351;&#38024;&#31639;&#26415;&#36816;&#31639;&#31526;&#20351;&#24471;&#25351;&#38024;&#28385;&#36275;<a href="cpp-named_req-RandomAccessIterator.html"><span style="font-style:italic">&#32769;&#24335;&#38543;&#26426;&#35775;&#38382;&#36845;&#20195;&#22120;</span> <span style="font-family: Georgia, &#39;DejaVu Serif&#39;, serif; font-style:italic">(LegacyRandomAccessIterator)</span></a> &#30340;&#35201;&#27714;&#12290;</p>
<p>&#22312;<a href="cpp-language-overload_resolution.html#.E8.B0.83.E7.94.A8.E9.87.8D.E8.BD.BD.E8.BF.90.E7.AE.97.E7.AC.A6">&#38024;&#23545;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#30340;&#37325;&#36733;&#20915;&#35758;</a>&#20013;&#65292;&#23545;&#20110;&#27599;&#23545;&#25552;&#21319;&#21518;&#30340;&#31639;&#26415;&#31867;&#22411; <code>L</code> &#21644; <code>R</code> &#21644;&#27599;&#20010;&#23545;&#35937;&#31867;&#22411; <code>T</code>&#65292;&#19979;&#21015;&#20989;&#25968;&#31614;&#21517;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#65306;</p>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LR operator<span class="sy2">+</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LR operator<span class="sy2">-</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">T<span class="sy2">*</span> operator<span class="sy2">+</span><span class="br0">(</span>T<span class="sy2">*</span>, <a href="cpp-types-ptrdiff_t.html"><span class="kw101">std::<span class="me2">ptrdiff_t</span></span></a><span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">T<span class="sy2">*</span> operator<span class="sy2">+</span><span class="br0">(</span><a href="cpp-types-ptrdiff_t.html"><span class="kw101">std::<span class="me2">ptrdiff_t</span></span></a>, T<span class="sy2">*</span><span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">T<span class="sy2">*</span> operator<span class="sy2">-</span><span class="br0">(</span>T<span class="sy2">*</span>, <a href="cpp-types-ptrdiff_t.html"><span class="kw101">std::<span class="me2">ptrdiff_t</span></span></a><span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp"><a href="cpp-types-ptrdiff_t.html"><span class="kw101">std::<span class="me2">ptrdiff_t</span></span></a> operator<span class="sy2">-</span><span class="br0">(</span>T<span class="sy2">*</span>, T<span class="sy2">*</span><span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#20854;&#20013; <code>LR</code> &#26159;&#23545; <code>L</code> &#21644; <code>R</code> &#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#30340;&#32467;&#26524;&#12290;</p>
<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;iostream&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">char</span> c <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">unsigned</span> <span class="kw4">int</span> un <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">int</span> n <span class="sy1">=</span> <span class="sy2">-</span><span class="nu0">10</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot; 2 + (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; char &#26102; = &quot;</span> <span class="sy1">&lt;&lt;</span> c <span class="sy2">+</span> n <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot; 2 + (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; unsigned &#26102; = &quot;</span> <span class="sy1">&lt;&lt;</span> un <span class="sy2">+</span> n <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot; -10 - 2.12 = &quot;</span> <span class="sy1">&lt;&lt;</span> n <span class="sy2">-</span> <span class="nu16">2.12</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="kw4">char</span> a<span class="br0">[</span><span class="nu0">4</span><span class="br0">]</span> <span class="sy1">=</span> <span class="br0">{</span><span class="st0">&#39;a&#39;</span>, <span class="st0">&#39;b&#39;</span>, <span class="st0">&#39;c&#39;</span>, <span class="st0">&#39;d&#39;</span><span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">char</span><span class="sy2">*</span> p <span class="sy1">=</span> <span class="sy3">&amp;</span>a<span class="br0">[</span><span class="nu0">1</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> <span class="st0">&quot;&#25351;&#38024;&#30456;&#21152;&#30340;&#20363;&#23376;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">*</span>p <span class="sy1">&lt;&lt;</span> <span class="sy2">*</span><span class="br0">(</span>p <span class="sy2">+</span> <span class="nu0">2</span><span class="br0">)</span>
<span class="sy1">&lt;&lt;</span> <span class="sy2">*</span><span class="br0">(</span><span class="nu0">2</span> <span class="sy2">+</span> p<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="sy2">*</span><span class="br0">(</span>p <span class="sy2">-</span> <span class="nu0">1</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="kw4">char</span><span class="sy2">*</span> p2 <span class="sy1">=</span> <span class="sy3">&amp;</span>a<span class="br0">[</span><span class="nu0">4</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> <span class="st0">&quot;&#25351;&#38024;&#30340;&#24046;&#65306;&quot;</span> <span class="sy1">&lt;&lt;</span> p2 <span class="sy2">-</span> p <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></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">
2 + (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; char &#26102; = -8
2 + (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; unsigned &#26102; = 4294967288
-10 - 2.12 = -12.12
&#25351;&#38024;&#30456;&#21152;&#30340;&#20363;&#23376;&#65306;bdda
&#25351;&#38024;&#30340;&#24046;&#65306;3</pre></div>
</div>
</div>
<h4><span class="mw-headline" id=".E4.B9.98.E6.80.A7.E8.BF.90.E7.AE.97.E7.AC.A6">&#20056;&#24615;&#36816;&#31639;&#31526;</span></h4>
<p>&#20108;&#20803;&#20056;&#24615;&#36816;&#31639;&#31526;&#34920;&#36798;&#24335;&#30340;&#24418;&#24335;&#20026;</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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>*</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>/</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>%</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></td>
<td>(3)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#20056;&#27861;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#37117;&#20855;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;</div>
<div class="t-li1"><span class="t-li">2)</span> &#38500;&#27861;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#37117;&#20855;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;</div>
<div class="t-li1"><span class="t-li">3)</span> &#27714;&#20313;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#37117;&#20855;&#26377;&#31639;&#26415;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;</div>
<p>&#36825;&#19977;&#20010;&#36816;&#31639;&#31526;&#22343;&#23545;&#20004;&#20010;&#25805;&#20316;&#25968;&#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</p>
<p>&#20108;&#20803;&#36816;&#31639;&#31526; * &#36827;&#34892;&#20854;&#25805;&#20316;&#25968;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#20056;&#27861;&#65292;&#20294;&#23545;&#20110;&#28014;&#28857;&#20056;&#27861;&#65292;</p>
<ul>
<li>NaN &#20056;&#20197;&#20219;&#20309;&#25968;&#22343;&#24471; NaN</li>
<li>&#26080;&#31351;&#20056;&#20197;&#38646;&#24471; NaN &#24182;&#24341;&#21457; <span class="t-lc"><a href="cpp-numeric-fenv-FE_exceptions.html">FE_INVALID</a></span></li>
</ul>
<p>&#20108;&#20803;&#36816;&#31639;&#31526; / &#23558;&#31532;&#19968;&#25805;&#20316;&#25968;&#38500;&#20197;&#31532;&#20108;&#25805;&#20316;&#25968;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#12290;</p>
<p>&#23545;&#20110;&#25972;&#22411;&#25805;&#20316;&#25968;&#65292;&#23427;&#20135;&#29983;&#20195;&#25968;&#21830;&#65292;</p>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx11">
<td>
<p>&#20197;&#23454;&#29616;&#23450;&#20041;&#30340;&#26041;&#21521;&#23545;&#21830;&#36827;&#34892;&#33293;&#20837;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx11">
<td>
<p>&#21830;&#21521;&#38646;&#21462;&#25972;&#65288;&#33293;&#24323;&#23567;&#25968;&#37096;&#20998;&#65289;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<p>&#33509;&#31532;&#20108;&#25805;&#20316;&#25968;&#20026;&#38646;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#65292;&#20294;&#33509;&#36827;&#34892;&#28014;&#28857;&#38500;&#27861;&#19988;&#31867;&#22411;&#25903;&#25345; IEEE &#28014;&#28857;&#31639;&#26415;&#65288;&#35265; <span class="t-lc"><a href="cpp-types-numeric_limits-is_iec559.html">std::numeric_limits::is_iec559</a></span>&#65289;&#65292;&#21017;&#65306;</p>
<ul>
<li>&#33509;&#25805;&#20316;&#25968;&#20043;&#19968;&#20026; NaN&#65292;&#21017;&#32467;&#26524;&#20026; NaN</li>
<li>&#38750;&#38646;&#25968;&#38500;&#20197; &plusmn;0.0 &#24471;&#21040;&#31526;&#21495;&#27491;&#30830;&#30340;&#26080;&#31351;&#65292;&#24182;&#24341;&#21457; <span class="t-lc"><a href="cpp-numeric-fenv-FE_exceptions.html">FE_DIVBYZERO</a></span></li>
<li>0.0 &#38500;&#20197; 0.0 &#24471; NaN&#65292;&#24182;&#24341;&#21457; <span class="t-lc"><a href="cpp-numeric-fenv-FE_exceptions.html">FE_INVALID</a></span></li>
</ul>
<p>&#20108;&#20803;&#36816;&#31639;&#31526;&nbsp;% &#20135;&#29983;&#20197;&#31532;&#20108;&#25805;&#20316;&#25968;&#25972;&#38500;&#31532;&#19968;&#25805;&#20316;&#25968;&#30340;&#20313;&#25968;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65307;&#27880;&#24847;&#21508;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#24517;&#39035;&#37117;&#20026;&#25972;&#22411;&#31867;&#22411;&#65289;&#12290;&#33509;&#21830; <code>a/b</code> &#33021;&#20197;&#32467;&#26524;&#31867;&#22411;&#34920;&#31034;&#65292;&#21017; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span>a<span class="sy2">/</span>b<span class="br0">)</span><span class="sy2">*</span>b <span class="sy2">+</span> a<span class="sy2">%</span>b <span class="sy1">==</span> a</span></span>&#12290;&#33509;&#31532;&#20108;&#25805;&#20316;&#25968;&#20026;&#38646;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;&#33509;&#21830; <code>a/b</code> &#19981;&#33021;&#20197;&#32467;&#26524;&#31867;&#22411;&#34920;&#31034;&#65292;&#21017; <code>a/b</code> &#21644; <code>a%b</code> &#30340;&#34892;&#20026;&#22343;&#26410;&#23450;&#20041;&#65288;&#36825;&#24847;&#21619;&#30528;&#65292;&#34917;&#30721;&#31995;&#32479;&#19978; <span class="t-c"><span class="mw-geshi cpp source-cpp">INT_MIN<span class="sy2">%-</span><span class="nu0">1</span></span></span> &#20026;&#26410;&#23450;&#20041;&#65289;&#12290;</p>
<p>&#27880;&#24847;&#65306;C++11 &#20043;&#21069;&#65292;&#33509;&#20108;&#20803;&#36816;&#31639;&#31526;&nbsp;% &#30340;&#19968;&#25110;&#20004;&#20010;&#25805;&#20316;&#25968;&#20026;&#36127;&#65292;&#21017;&#20313;&#25968;&#31526;&#21495;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#65292;&#22240;&#20026;&#23427;&#21462;&#20915;&#20110;&#25972;&#25968;&#38500;&#27861;&#30340;&#33293;&#20837;&#26041;&#21521;&#12290;&#20989;&#25968; <span class="t-lc"><a href="cpp-numeric-math-div.html">std::div</a></span> &#22312;&#35813;&#24773;&#20917;&#19979;&#25552;&#20379;&#33391;&#22909;&#23450;&#20041;&#30340;&#34892;&#20026;&#12290;</p>
<p>&#27880;&#24847;&#65306;&#23545;&#20110;&#28014;&#28857;&#20313;&#25968;&#65292;&#35265; <span class="t-lc"><a href="cpp-numeric-math-remainder.html">std::remainder</a></span> &#21644; <span class="t-lc"><a href="cpp-numeric-math-fmod.html">std::fmod</a></span>&#12290;</p>
<p>&#22312;<a href="cpp-language-overload_resolution.html#.E8.B0.83.E7.94.A8.E9.87.8D.E8.BD.BD.E8.BF.90.E7.AE.97.E7.AC.A6">&#38024;&#23545;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#30340;&#37325;&#36733;&#20915;&#35758;&#20013;</a>&#65292;&#23545;&#20110;&#27599;&#23545;&#25552;&#21319;&#21518;&#30340;&#31639;&#26415;&#31867;&#22411; <code>LA</code> &#19982; <code>RA</code> &#21450;&#27599;&#23545;&#25552;&#21319;&#21518;&#30340;&#25972;&#22411;&#31867;&#22411; <code>LI</code> &#19982; <code>RI</code>&#65292;&#19979;&#21015;&#20989;&#25968;&#31614;&#21517;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#65306;</p>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LRA operator<span class="sy2">*</span><span class="br0">(</span>LA, RA<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LRA operator<span class="sy2">/</span><span class="br0">(</span>LA, RA<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LRI operator<span class="sy2">%</span><span class="br0">(</span>LI, RI<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#20854;&#20013; <code>LRx</code> &#26159;&#23545; <code>Lx</code> &#21644; <code>Rx</code> &#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#30340;&#32467;&#26524;&#12290;</p>
<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;iostream&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<span class="kw4">char</span> c <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">unsigned</span> <span class="kw4">int</span> un <span class="sy1">=</span> <span class="nu0">2</span><span class="sy4">;</span>
<span class="kw4">int</span> n <span class="sy1">=</span> <span class="sy2">-</span><span class="nu0">10</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;2 * (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; char &#26102; = &quot;</span> <span class="sy1">&lt;&lt;</span> c <span class="sy2">*</span> n <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;2 * (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; unsigned &#26102; = &quot;</span> <span class="sy1">&lt;&lt;</span> un <span class="sy2">*</span> n <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-10 / 2.12 = &quot;</span> <span class="sy1">&lt;&lt;</span> n <span class="sy2">/</span> <span class="nu16">2.12</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-10 / 21 = &quot;</span> <span class="sy1">&lt;&lt;</span> n <span class="sy2">/</span> <span class="nu0">21</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-10 % 21 = &quot;</span> <span class="sy1">&lt;&lt;</span> n <span class="sy2">%</span> <span class="nu0">21</span> <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></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">2 * (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; char &#26102; = -20
2 * (-10)&#65292;&#24403; 2 &#30340;&#31867;&#22411;&#26159; unsigned &#26102; = 4294967276
-10 / 2.12 = -4.71698
-10 / 21 = 0
-10 % 21 = -10</pre></div>
</div>
</div>
<h4><span class="mw-headline" id=".E9.80.90.E4.BD.8D.E9.80.BB.E8.BE.91.E8.BF.90.E7.AE.97.E7.AC.A6">&#36880;&#20301;&#36923;&#36753;&#36816;&#31639;&#31526;</span></h4>
<p>&#36880;&#20301;&#31639;&#26415;&#36816;&#31639;&#31526;&#34920;&#36798;&#24335;&#30340;&#24418;&#24335;&#20026;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>~</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>&amp;</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>|</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></td>
<td>(3)</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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>^</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></td>
<td>(4)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#36880;&#20301;&#38750;&#65288;NOT&#65289;</div>
<div class="t-li1"><span class="t-li">2)</span> &#36880;&#20301;&#19982;&#65288;AND&#65289;</div>
<div class="t-li1"><span class="t-li">3)</span> &#36880;&#20301;&#25110;&#65288;OR&#65289;</div>
<div class="t-li1"><span class="t-li">4)</span> &#36880;&#20301;&#24322;&#25110;&#65288;XOR&#65289;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#37117;&#25317;&#26377;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#23545;&#20004;&#20010;&#25805;&#20316;&#25968;&#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#65292;&#24182;&#30830;&#23450;&#32467;&#26524;&#31867;&#22411;&#12290;</div>
<p>operator~ &#30340;&#32467;&#26524;&#26159;&#23454;&#21442;&#20540;&#65288;&#25552;&#21319;&#21518;&#65289;&#30340;&#36880;&#20301;&#38750;&#65288;&#21453;&#30721;&#65289;&#12290;operator&amp; &#30340;&#32467;&#26524;&#26159;&#20004;&#20010;&#25805;&#20316;&#25968;&#20540;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#36880;&#20301;&#19982;&#12290;operator| &#30340;&#32467;&#26524;&#26159;&#20004;&#20010;&#25805;&#20316;&#25968;&#20540;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#36880;&#20301;&#25110;&#12290;operator^ &#30340;&#32467;&#26524;&#26159;&#20004;&#20010;&#25805;&#20316;&#25968;&#20540;&#65288;&#32463;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#21518;&#65289;&#30340;&#36880;&#20301;&#24322;&#25110;&#12290;</p>
<p>&#22312;<a href="cpp-language-overload_resolution.html#.E8.B0.83.E7.94.A8.E9.87.8D.E8.BD.BD.E8.BF.90.E7.AE.97.E7.AC.A6">&#38024;&#23545;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#30340;&#37325;&#36733;&#20915;&#35758;</a>&#20013;&#65292;&#23545;&#20110;&#27599;&#23545;&#25552;&#21319;&#21518;&#30340;&#25972;&#22411;&#31867;&#22411; <code>L</code> &#21644; <code>R</code>&#65292;&#19979;&#21015;&#20989;&#25968;&#31614;&#21517;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#65306;</p>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">R operator~<span class="br0">(</span>R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LR operator<span class="sy3">&amp;</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LR operator<span class="sy3">^</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">LR operator<span class="sy3">|</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>&#20854;&#20013; <code>LR</code> &#26159;&#23545; <code>L</code> &#21644; <code>R</code> &#23454;&#26045;&#19968;&#33324;&#31639;&#26415;&#36716;&#25442;&#30340;&#32467;&#26524;&#12290;</p>
<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;iostream&gt;</span>
<span class="co2">#include &lt;iomanip&gt;</span>
<span class="co2">#include &lt;bitset&gt;</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
uint16_t mask <span class="sy1">=</span> <span class="nu12">0x00f0</span><span class="sy4">;</span>
uint32_t x0 <span class="sy1">=</span> <span class="nu12">0x12345678</span><span class="sy4">;</span>
uint32_t x1 <span class="sy1">=</span> x0 <span class="sy3">|</span> mask<span class="sy4">;</span>
uint32_t x2 <span class="sy1">=</span> x0 <span class="sy3">&amp;</span> ~mask<span class="sy4">;</span>
uint32_t x3 <span class="sy1">=</span> x0 <span class="sy3">&amp;</span> mask<span class="sy4">;</span>
uint32_t x4 <span class="sy1">=</span> x0 <span class="sy3">^</span> mask<span class="sy4">;</span>
uint32_t x5 <span class="sy1">=</span> ~x0<span class="sy4">;</span>
<span class="kw1">using</span> bin16 <span class="sy1">=</span> <a href="cpp-utility-bitset.html"><span class="kw1027">std::<span class="me2">bitset</span></span></a><span class="sy1">&lt;</span><span class="nu0">16</span><span class="sy1">&gt;</span><span class="sy4">;</span>
<span class="kw1">using</span> bin32 <span class="sy1">=</span> <a href="cpp-utility-bitset.html"><span class="kw1027">std::<span class="me2">bitset</span></span></a><span class="sy1">&lt;</span><span class="nu0">32</span><span class="sy1">&gt;</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> <a href="cpp-io-manip-hex.html"><span class="kw1782">std::<span class="me2">hex</span></span></a> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-showbase.html"><span class="kw1766">std::<span class="me2">showbase</span></span></a>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;<span class="es3">\u3000</span><span class="es3">\u3000</span>&#25513;&#30721;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> mask <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">39</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin16<span class="br0">(</span>mask<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;<span class="es3">\u3000</span><span class="es3">\u3000</span><span class="es3">\u3000</span>&#20540;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x0 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">33</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x0<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#35774;&#32622;&#21508;&#20301;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x1 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">33</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x1<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#28165;&#38500;&#21508;&#20301;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x2 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">33</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x2<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#36873;&#25321;&#21508;&#20301;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x3 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">39</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x3<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#24322;&#25110;&#21508;&#20301;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x4 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">33</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x4<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;&#21462;&#21453;&#21508;&#20301;&#65306; &quot;</span> <span class="sy1">&lt;&lt;</span> x5 <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-setw.html"><span class="kw1797">std::<span class="me2">setw</span></span></a><span class="br0">(</span><span class="nu0">33</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> bin32<span class="br0">(</span>x5<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="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">Mask: 0xf0 0000000011110000
Value: 0x12345678 00010010001101000101011001111000
Setting bits: 0x123456f8 00010010001101000101011011111000
Clearing bits: 0x12345608 00010010001101000101011000001000
Selecting bits: 0x70 00000000000000000000000001110000
XOR-ing bits: 0x12345688 00010010001101000101011010001000
Inverting bits: 0xedcba987 11101101110010111010100110000111</pre></div>
</div>
</div>
<h4><span class="mw-headline" id=".E7.A7.BB.E4.BD.8D.E8.BF.90.E7.AE.97.E7.AC.A6">&#31227;&#20301;&#36816;&#31639;&#31526;</span></h4>
<p>&#31227;&#20301;&#36816;&#31639;&#31526;&#34920;&#36798;&#24335;&#30340;&#24418;&#24335;&#20026;</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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>&lt;&lt;</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></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">&#24038;&#25805;&#20316;&#25968;</span> <code><b>&gt;&gt;</b></code> <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span></td>
<td>(2)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#23558; <span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#24038;&#31227; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#20301;</div>
<div class="t-li1"><span class="t-li">2)</span> &#23558; <span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21491;&#31227; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#20301;</div>
<div class="t-li1"><span class="t-li"></span> &#23545;&#20110;&#20869;&#24314;&#36816;&#31639;&#31526;&#65292;<span class="t-spar">&#24038;&#25805;&#20316;&#25968;</span> &#21644; <span class="t-spar">&#21491;&#25805;&#20316;&#25968;</span> &#24517;&#39035;&#37117;&#20855;&#26377;&#25972;&#22411;&#25110;&#26080;&#20316;&#29992;&#22495;&#26522;&#20030;&#31867;&#22411;&#12290;&#23545;&#20004;&#20010;&#36816;&#31639;&#25968;&#23454;&#26045;&#25972;&#22411;&#25552;&#21319;&#12290;</div>
<p>&#36820;&#22238;&#31867;&#22411;&#26159;&#25552;&#21319;&#21518;&#30340;&#24038;&#25805;&#20316;&#25968;&#30340;&#31867;&#22411;&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx20">
<td>
<p>&#23545;&#20110;&#26080;&#31526;&#21495; <code>a</code>&#65292;<code>a &lt;&lt; b</code> &#30340;&#20540;&#26159; <span class="texhtml" style="white-space: nowrap;">a * 2<span class="t-su">b<br /></span></span> &#23545; <span class="texhtml" style="white-space: nowrap;">2<span class="t-su">N<br /></span></span> &#21462;&#27169;&#65292;&#20854;&#20013; <span class="texhtml" style="white-space: nowrap;">N</span> &#26159;&#36820;&#22238;&#31867;&#22411;&#20013;&#30340;&#20301;&#25968;&#65288;&#21363;&#36827;&#34892;&#36880;&#20301;&#24038;&#31227;&#24182;&#33293;&#24323;&#31227;&#20986;&#30446;&#26631;&#31867;&#22411;&#30340;&#20301;&#65289;&#12290;</p>
<p>&#23545;&#20110;&#26377;&#31526;&#21495;&#30340;&#38750;&#36127; <code>a</code>&#65292;&#33509; <span class="texhtml" style="white-space: nowrap;">a * 2<span class="t-su">b<br /></span></span> &#33021;&#20197;&#36820;&#22238;&#31867;&#22411;&#30340;&#26080;&#31526;&#21495;&#29256;&#26412;&#34920;&#31034;&#65292;&#21017;&#23558;&#35813;&#20540;<a href="cpp-language-implicit_conversion.html#.E6.95.B4.E5.9E.8B.E8.BD.AC.E6.8D.A2">&#36716;&#25442;</a>&#21040;&#26377;&#31526;&#21495;&#21518;&#21363;&#26159; <code>a &lt;&lt; b</code> &#30340;&#20540;&#65288;&#36825;&#20351;&#24471;&#20197; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="nu0">1</span><span class="sy1">&lt;&lt;</span><span class="nu0">31</span></span></span> &#21019;&#24314; <span class="t-lc"><a href="cpp-types-climits.html">INT_MIN</a></span> &#21512;&#27861;&#65289;&#65307;&#21542;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<p>&#23545;&#20110;&#36127; <code>a</code>&#65292;<code>a &lt;&lt; b</code> &#30340;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<p>&#23545;&#20110;&#26080;&#31526;&#21495; <code>a</code> &#21644;&#26377;&#31526;&#21495;&#30340;&#38750;&#36127; <code>a</code>&#65292;<code>a &gt;&gt; b</code> &#30340;&#20540;&#26159; <span class="texhtml" style="white-space: nowrap;">a/2<span class="t-su">b<br /></span></span> &#30340;&#25972;&#25968;&#37096;&#20998;&#12290;</p>
<p>&#23545;&#20110;&#36127; <code>a</code>&#65292;<code>a &gt;&gt; b</code> &#30340;&#20540;&#26159;&#23454;&#29616;&#23450;&#20041;&#30340;&#65288;&#22823;&#22810;&#25968;&#24179;&#21488;&#19978;&#36827;&#34892;&#31639;&#26415;&#21491;&#31227;&#65292;&#25925;&#32467;&#26524;&#20445;&#30041;&#20026;&#36127;&#65289;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-cxx20">(C++20 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx20">
<td>
<p><code>a &lt;&lt; b</code> &#30340;&#20540;&#26159;&#19982; <span class="texhtml" style="white-space: nowrap;">a * 2<span class="t-su">b<br /></span></span> &#23545; <span class="texhtml" style="white-space: nowrap;">2<span class="t-su">N<br /></span></span> &#21516;&#20313;&#30340;&#21807;&#19968;&#20540;&#65292;&#20854;&#20013; <span class="texhtml" style="white-space: nowrap;">N</span> &#26159;&#36820;&#22238;&#31867;&#22411;&#20013;&#30340;&#20301;&#25968;&#65288;&#21363;&#36827;&#34892;&#36880;&#20301;&#24038;&#31227;&#24182;&#33293;&#24323;&#31227;&#20986;&#30446;&#26631;&#31867;&#22411;&#30340;&#20301;&#65289;&#12290;</p>
<p><code>a &gt;&gt; b</code> &#30340;&#20540;&#26159; <span class="texhtml" style="white-space: nowrap;">a/2<span class="t-su">b<br /></span></span> &#21521;&#19979;&#21462;&#25972;&#65288;&#25442;&#35328;&#20043;&#65292;&#26377;&#31526;&#21495; <code>a</code> &#19978;&#30340;&#21491;&#31227;&#26159;&#31639;&#26415;&#21491;&#31227;&#65289;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
</table>
<p>&#20219;&#20309;&#24773;&#20917;&#19979;&#65292;&#33509;&#21491;&#25805;&#20316;&#25968;&#30340;&#20540;&#20026;&#36127;&#25110;&#22823;&#20110;&#31561;&#20110;&#25552;&#21319;&#21518;&#24038;&#25805;&#20316;&#25968;&#20013;&#30340;&#20301;&#25968;&#65292;&#21017;&#34892;&#20026;&#26410;&#23450;&#20041;&#12290;</p>
<p>&#22312;<a href="cpp-language-overload_resolution.html#.E8.B0.83.E7.94.A8.E9.87.8D.E8.BD.BD.E8.BF.90.E7.AE.97.E7.AC.A6">&#38024;&#23545;&#29992;&#25143;&#23450;&#20041;&#36816;&#31639;&#31526;&#30340;&#37325;&#36733;&#20915;&#35758;</a>&#20013;&#65292;&#23545;&#20110;&#27599;&#23545;&#25552;&#21319;&#21518;&#30340;&#25972;&#22411;&#31867;&#22411; <code>L</code> &#21644; <code>R</code>&#65292;&#19979;&#21015;&#20989;&#25968;&#31614;&#21517;&#21442;&#19982;&#37325;&#36733;&#20915;&#35758;&#65306;</p>
<table class="t-dcl-begin">
<tbody>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">L operator<span class="sy1">&lt;&lt;</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl">
<td class="t-dcl-nopad">
<div><span class="mw-geshi cpp source-cpp">L operator<span class="sy1">&gt;&gt;</span><span class="br0">(</span>L, R<span class="br0">)</span></span></div>
</td>
<td class="t-dcl-nopad"></td>
<td class="t-dcl-nopad"></td>
</tr>
<tr class="t-dcl-sep">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<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;iostream&gt;</span>
<span class="kw2">enum</span> <span class="br0">{</span>ONE<span class="sy1">=</span><span class="nu0">1</span>, TWO<span class="sy1">=</span><span class="nu0">2</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>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-hex.html"><span class="kw1782">std::<span class="me2">hex</span></span></a> <span class="sy1">&lt;&lt;</span> <a href="cpp-io-manip-showbase.html"><span class="kw1766">std::<span class="me2">showbase</span></span></a><span class="sy4">;</span>
<span class="kw4">char</span> c <span class="sy1">=</span> <span class="nu12">0x10</span><span class="sy4">;</span>
<span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">long</span> ull <span class="sy1">=</span> <span class="nu12">0x123</span><span class="sy4">;</span>
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;0x123 &lt;&lt; 1 = &quot;</span> <span class="sy1">&lt;&lt;</span> <span class="br0">(</span>ull <span class="sy1">&lt;&lt;</span> <span class="nu0">1</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;0x123 &lt;&lt; 63 = &quot;</span> <span class="sy1">&lt;&lt;</span> <span class="br0">(</span>ull <span class="sy1">&lt;&lt;</span> <span class="nu0">63</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span> <span class="co1">// &#26080;&#31526;&#21495;&#20013;&#30340;&#28322;&#20986;</span>
<span class="sy1">&lt;&lt;</span> <span class="st0">&quot;0x10 &lt;&lt; 10 = &quot;</span> <span class="sy1">&lt;&lt;</span> <span class="br0">(</span>c <span class="sy1">&lt;&lt;</span> <span class="nu0">10</span><span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span> <span class="co1">// &#25552;&#21319; char &#21040; int</span>
<span class="kw4">long</span> <span class="kw4">long</span> ll <span class="sy1">=</span> <span class="sy2">-</span><span class="nu0">1000</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> <a href="cpp-io-manip-hex.html"><span class="kw1781">std::<span class="me2">dec</span></span></a> <span class="sy1">&lt;&lt;</span> <span class="st0">&quot;-1000 &gt;&gt; 1 = &quot;</span> <span class="sy1">&lt;&lt;</span> <span class="br0">(</span>ll <span class="sy1">&gt;&gt;</span> ONE<span class="br0">)</span> <span class="sy1">&lt;&lt;</span> <span class="st0">&#39;<span class="es1">\n</span>&#39;</span><span class="sy4">;</span>
<span class="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">0x123 &lt;&lt; 1 = 0x246
0x123 &lt;&lt; 63 = 0x8000000000000000
0x10 &lt;&lt; 10 = 0x4000
-1000 &gt;&gt; 1 = -500</pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E6.A0.87.E5.87.86.E5.BA.93">&#26631;&#20934;&#24211;</span></h3>
<p>&#35768;&#22810;&#26631;&#20934;&#24211;&#31867;&#22411;&#37117;&#37325;&#36733;&#20102;&#31639;&#26415;&#36816;&#31639;&#31526;&#12290;</p>
<h4><span class="mw-headline" id=".E4.B8.80.E5.85.83.E7.AE.97.E6.9C.AF.E8.BF.90.E7.AE.97.E7.AC.A6_2">&#19968;&#20803;&#31639;&#26415;&#36816;&#31639;&#31526;</span></h4>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-chrono-duration-operator_arith.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
</div>
</td>
<td>&#23454;&#29616;&#19968;&#20803; + &#21644;&#19968;&#20803; -<br />
<span class="t-mark">(<code>std::chrono::duration&lt;Rep,Period&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-complex-operator_arith2.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
</div>
</td>
<td>&#23545;&#22797;&#25968;&#36816;&#29992;&#19968;&#20803;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator~</span><span>operator!</span></span></a></div>
</div>
</td>
<td>&#23545; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#36816;&#29992;&#19968;&#20803;&#31639;&#26415;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(<code>std::valarray&lt;T&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E5.8A.A0.E6.80.A7.E8.BF.90.E7.AE.97.E7.AC.A6_2">&#21152;&#24615;&#36816;&#31639;&#31526;</span></h4>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-chrono-time_point-operator_arith2.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#26045;&#28041;&#21450;&#26102;&#38388;&#28857;&#30340;&#21152;&#27861;&#21644;&#20943;&#27861;&#36816;&#31639;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-chrono-duration-operator_arith4.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span><span>operator%</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#29616;&#20197;&#26102;&#38271;&#20026;&#23454;&#21442;&#30340;&#31639;&#26415;&#36816;&#31639;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-chrono-year_month_day-operator_arith_2.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
</div>
</td>
<td>&#23558; <code>year_month_day</code> &#19982;&#19968;&#23450;&#37327;&#30340;&#24180;&#25968;&#25110;&#26376;&#25968;&#30456;&#21152;&#25110;&#30456;&#20943;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-basic_string-operator+.html"><span class="t-lines"><span>operator+</span></span></a></div>
</div>
</td>
<td>&#36830;&#25509;&#20004;&#20010;&#23383;&#31526;&#20018;&#25110;&#32773;&#19968;&#20010;&#23383;&#31526;&#20018;&#21644;&#19968;&#20010;&#23383;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-iterator-reverse_iterator-operator_arith.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
</div>
</td>
<td>&#25512;&#36827;&#25110;&#20943;&#23567;&#36845;&#20195;&#22120;<br />
<span class="t-mark">(<code>std::reverse_iterator&lt;Iter&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-iterator-move_iterator-operator_arith.html"><span class="t-lines"><span>operator+</span><span>operator-</span></span></a></div>
</div>
</td>
<td>&#25512;&#36827;&#25110;&#20943;&#23567;&#36845;&#20195;&#22120;<br />
<span class="t-mark">(<code>std::move_iterator&lt;Iter&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-complex-operator_arith3.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span></span></a></div>
</div>
</td>
<td>&#22312;&#20004;&#20010;&#22797;&#25968;&#65292;&#25110;&#19968;&#20010;&#22797;&#25968;&#19982;&#19968;&#20010;&#26631;&#37327;&#19978;&#36827;&#34892;&#22797;&#25968;&#31639;&#26415;&#36816;&#31639;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith3.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span><span>operator%</span><span>operator&amp;</span><span>operator|</span><span>operator^</span><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span><span>operator&amp;&amp;</span><span>operator||</span></span></a></div>
</div>
</td>
<td>&#23545;&#20004;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#65292;&#25110;&#19968;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#21644;&#19968;&#20010;&#20540;&#36816;&#29992;&#20108;&#20803;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E4.B9.98.E6.80.A7.E8.BF.90.E7.AE.97.E7.AC.A6_2">&#20056;&#24615;&#36816;&#31639;&#31526;</span></h4>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-chrono-duration-operator_arith4.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span><span>operator%</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#23454;&#29616;&#20197;&#26102;&#38271;&#20026;&#23454;&#21442;&#30340;&#31639;&#26415;&#36816;&#31639;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-complex-operator_arith3.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span></span></a></div>
</div>
</td>
<td>&#22312;&#20004;&#20010;&#22797;&#25968;&#65292;&#25110;&#19968;&#20010;&#22797;&#25968;&#19982;&#19968;&#20010;&#26631;&#37327;&#19978;&#36827;&#34892;&#22797;&#25968;&#31639;&#26415;&#36816;&#31639;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith3.html"><span class="t-lines"><span>operator+</span><span>operator-</span><span>operator*</span><span>operator/</span><span>operator%</span><span>operator&amp;</span><span>operator|</span><span>operator^</span><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span><span>operator&amp;&amp;</span><span>operator||</span></span></a></div>
</div>
</td>
<td>&#23545;&#20004;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#65292;&#25110;&#19968;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#21644;&#19968;&#20010;&#20540;&#36816;&#29992;&#20108;&#20803;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E9.80.90.E4.BD.8D.E9.80.BB.E8.BE.91.E8.BF.90.E7.AE.97.E7.AC.A6_2">&#36880;&#20301;&#36923;&#36753;&#36816;&#31639;&#31526;</span></h4>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-utility-bitset-operator_logic.html"><span class="t-lines"><span>operator&amp;=</span><span>operator|=</span><span>operator^=</span><span>operator~</span></span></a></div>
</div>
</td>
<td>&#36827;&#34892;&#20108;&#36827;&#21046;&#19982;&#12289;&#25110;&#12289;&#24322;&#25110;&#21450;&#38750;<br />
<span class="t-mark">(<code>std::bitset&lt;N&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-utility-bitset-operator_logic2.html"><span class="t-lines"><span>operator&amp;</span><span>operator|</span><span>operator^</span></span></a></div>
</div>
</td>
<td>&#22312; bitset &#19978;&#25191;&#34892;&#20108;&#20803;&#36923;&#36753;&#25805;&#20316;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith.html"><span class="t-lines"><span>operator~</span></span></a></div>
</div>
</td>
<td>&#23545; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#36816;&#29992;&#19968;&#20803;&#31639;&#26415;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(<code>std::valarray&lt;T&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith3.html"><span class="t-lines"><span>operator^</span><span>operator&amp;</span><span>operator|</span></span></a></div>
</div>
</td>
<td>&#23545;&#20004;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#65292;&#25110;&#19968;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#21644;&#19968;&#20010;&#20540;&#36816;&#29992;&#20108;&#20803;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E7.A7.BB.E4.BD.8D.E8.BF.90.E7.AE.97.E7.AC.A6_2">&#31227;&#20301;&#36816;&#31639;&#31526;</span></h4>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-valarray-operator_arith3.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#23545;&#20004;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#65292;&#25110;&#19968;&#20010; valarray &#30340;&#27599;&#20010;&#20803;&#32032;&#21644;&#19968;&#20010;&#20540;&#36816;&#29992;&#20108;&#20803;&#36816;&#31639;&#31526;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-utility-bitset-operator_ltltgtgt.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#36827;&#34892;&#20108;&#36827;&#21046;&#24038;&#31227;&#21644;&#21491;&#31227;<br />
<span class="t-mark">(<code>std::bitset&lt;N&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E6.B5.81.E6.8F.92.E5.85.A5.2F.E6.8A.BD.E5.8F.96.E8.BF.90.E7.AE.97.E7.AC.A6">&#27969;&#25554;&#20837;/&#25277;&#21462;&#36816;&#31639;&#31526;</span></h4>
<p>&#25972;&#20010;&#26631;&#20934;&#24211;&#20013;&#65292;&#31227;&#20301;&#36816;&#31639;&#31526;&#24120;&#23545; I/O &#27969;&#65288; <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-ios_base.html"><span class="kw1669">std::<span class="me2">ios_base</span></span></a><span class="sy3">&amp;</span></span></span> &#25110;&#20174;&#23427;&#27966;&#29983;&#30340;&#31867;&#20043;&#19968;&#65289;&#37325;&#36733;&#65292;&#20197;&#20043;&#20026;&#24038;&#36816;&#31639;&#25968;&#21644;&#36820;&#22238;&#31867;&#22411;&#12290;&#36825;&#31181;&#36816;&#31639;&#31526;&#34987;&#31216;&#20026;<i>&#27969;&#25554;&#20837;</i>&#21644;<i>&#27969;&#25277;&#21462;</i>&#36816;&#31639;&#31526;&#65306;</p>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-basic_istream-operator_gtgt.html"><span class="t-lines"><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#25552;&#21462;&#24102;&#26684;&#24335;&#25968;&#25454;<br />
<span class="t-mark">(<code>std::basic_istream&lt;CharT,Traits&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-basic_istream-operator_gtgt2.html"><span class="t-lines"><span>operator&gt;&gt;<span class="t-dsc-small">(std::basic_istream)</span></span></span></a></div>
</div>
</td>
<td>&#25552;&#21462;&#23383;&#31526;&#21644;&#23383;&#31526;&#25968;&#32452;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-basic_ostream-operator_ltlt.html"><span class="t-lines"><span>operator&lt;&lt;</span></span></a></div>
</div>
</td>
<td>&#25554;&#20837;&#24102;&#26684;&#24335;&#25968;&#25454;<br />
<span class="t-mark">(<code>std::basic_ostream&lt;CharT,Traits&gt;</code> &#30340;&#20844;&#24320;&#25104;&#21592;&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-io-basic_ostream-operator_ltlt2.html"><span class="t-lines"><span>operator&lt;&lt;<span class="t-dsc-small">(std::basic_ostream)</span></span></span></a></div>
</div>
</td>
<td>&#25554;&#20837;&#23383;&#31526;&#25968;&#25454;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-complex-operator_ltltgtgt.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#22797;&#25968;&#30340;&#24207;&#21015;&#21270;&#21644;&#21453;&#24207;&#21015;&#21270;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-utility-bitset-operator_ltltgtgt2.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#25191;&#34892; bitset &#30340;&#27969;&#36755;&#20837;&#21644;&#36755;&#20986;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-string-basic_string-operator_ltltgtgt.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
</div>
</td>
<td>&#25191;&#34892;&#23383;&#31526;&#20018;&#30340;&#27969;&#36755;&#20837;&#19982;&#36755;&#20986;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-linear_congruential_engine-operator_ltltgtgt.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#25191;&#34892;&#20266;&#38543;&#26426;&#25968;&#24341;&#25806;&#30340;&#27969;&#36755;&#20837;&#21644;&#36755;&#20986;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-numeric-random-uniform_int_distribution-operator_ltltgtgt.html"><span class="t-lines"><span>operator&lt;&lt;</span><span>operator&gt;&gt;</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div>
</td>
<td>&#25191;&#34892;&#20266;&#38543;&#26426;&#25968;&#20998;&#24067;&#30340;&#27969;&#36755;&#20837;&#21644;&#36755;&#20986;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
</table>
<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/issue1457">CWG 1457</a></td>
<td>C++98</td>
<td>&#23558;&#27491;&#30340;&#26377;&#31526;&#21495;&#20540;&#30340;&#26368;&#24038;&#31471;&#30340; <code>1</code> &#20301;&#31227;&#20837;&#31526;&#21495;&#20301;&#20026;&#26410;&#23450;&#20041;&#34892;&#20026;</td>
<td>&#20351;&#20043;&#20026;&#33391;&#23450;&#20041;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<p><a href="cpp-language-operator_precedence.html">&#36816;&#31639;&#31526;&#20248;&#20808;&#32423;</a></p>
<p><a href="cpp-language-operators.html">&#36816;&#31639;&#31526;&#37325;&#36733;</a></p>
<table class="wikitable">
<tr style="text-align:center">
<th colspan="7">&#24120;&#35265;&#36816;&#31639;&#31526;</th>
</tr>
<tr style="text-align:center">
<td><a href="cpp-language-operator_assignment.html">&#36171;&#20540;</a></td>
<td><a href="cpp-language-operator_incdec.html">&#33258;&#22686;<br />
&#33258;&#20943;</a></td>
<td><strong class="selflink">&#31639;&#26415;</strong></td>
<td><a href="cpp-language-operator_logical.html">&#36923;&#36753;</a></td>
<td><a href="cpp-language-operator_comparison.html">&#27604;&#36739;</a></td>
<td><a href="cpp-language-operator_member_access.html">&#25104;&#21592;&#35775;&#38382;</a></td>
<td><a href="cpp-language-operator_other.html">&#20854;&#20182;</a></td>
</tr>
<tr style="text-align:center">
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">=</span> b<br />
a <span class="sy2">+</span><span class="sy1">=</span> b<br />
a <span class="sy2">-</span><span class="sy1">=</span> b<br />
a <span class="sy2">*</span><span class="sy1">=</span> b<br />
a <span class="sy2">/</span><span class="sy1">=</span> b<br />
a <span class="sy2">%</span><span class="sy1">=</span> b<br />
a <span class="sy3">&amp;</span><span class="sy1">=</span> b<br />
a <span class="sy3">|</span><span class="sy1">=</span> b<br />
a <span class="sy3">^</span><span class="sy1">=</span> b<br />
a <span class="sy1">&lt;&lt;=</span> b<br />
a <span class="sy1">&gt;&gt;=</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">++</span>a<br />
<span class="sy2">--</span>a<br />
a<span class="sy2">++</span><br />
a<span class="sy2">--</span></span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy2">+</span>a<br />
<span class="sy2">-</span>a<br />
a <span class="sy2">+</span> b<br />
a <span class="sy2">-</span> b<br />
a <span class="sy2">*</span> b<br />
a <span class="sy2">/</span> b<br />
a <span class="sy2">%</span> b<br />
~a<br />
a <span class="sy3">&amp;</span> b<br />
a <span class="sy3">|</span> b<br />
a <span class="sy3">^</span> b<br />
a <span class="sy1">&lt;&lt;</span> b<br />
a <span class="sy1">&gt;&gt;</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="sy3">!</span>a<br />
a <span class="sy3">&amp;&amp;</span> b<br />
a <span class="sy3">||</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">==</span> b<br />
a <span class="sy3">!</span><span class="sy1">=</span> b<br />
a <span class="sy1">&lt;</span> b<br />
a <span class="sy1">&gt;</span> b<br />
a <span class="sy1">&lt;=</span> b<br />
a <span class="sy1">&gt;=</span> b<br />
a <span class="sy1">&lt;=&gt;</span> b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp">a<span class="br0">[</span>b<span class="br0">]</span><br />
<span class="sy2">*</span>a<br />
<span class="sy3">&amp;</span>a<br />
a<span class="sy2">-</span><span class="sy1">&gt;</span>b<br />
a.<span class="me1">b</span><br />
a<span class="sy2">-</span><span class="sy1">&gt;</span><span class="sy2">*</span>b<br />
a.<span class="sy2">*</span>b</span></span></p>
</td>
<td>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp">a<span class="br0">(</span>...<span class="br0">)</span><br />
a, b<br />
<span class="sy4">?</span> <span class="sy4">:</span></span></span></p>
</td>
</tr>
<tr>
<th colspan="7">&#29305;&#27530;&#36816;&#31639;&#31526;</th>
</tr>
<tr>
<td colspan="7">
<p><a href="cpp-language-static_cast.html"><tt>static_cast</tt></a> &#36716;&#25442;&#19968;&#20010;&#31867;&#22411;&#20026;&#21478;&#19968;&#30456;&#20851;&#31867;&#22411;<br />
<a href="cpp-language-dynamic_cast.html"><tt>dynamic_cast</tt></a> &#22312;&#32487;&#25215;&#23618;&#32423;&#20013;&#36716;&#25442;<br />
<a href="cpp-language-const_cast.html"><tt>const_cast</tt></a> &#28155;&#21152;&#25110;&#31227;&#38500; <a href="cpp-language-cv.html">cv</a> &#38480;&#23450;&#31526;<br />
<a href="cpp-language-reinterpret_cast.html"><tt>reinterpret_cast</tt></a> &#36716;&#25442;&#31867;&#22411;&#21040;&#26080;&#20851;&#31867;&#22411;<br />
<a href="cpp-language-explicit_cast.html">C &#39118;&#26684;&#36716;&#22411;</a> &#20197; <code>static_cast</code> &#12289; <code>const_cast</code> &#21450; <code>reinterpret_cast</code> &#30340;&#28151;&#21512;&#36716;&#25442;&#19968;&#20010;&#31867;&#22411;&#21040;&#21478;&#19968;&#31867;&#22411;<br />
<a href="cpp-language-new.html"><tt>new</tt></a> &#21019;&#24314;&#26377;&#21160;&#24577;&#23384;&#20648;&#26399;&#30340;&#23545;&#35937;<br />
<a href="cpp-language-delete.html"><tt>delete</tt></a> &#38144;&#27585;&#20808;&#21069;&#30001; new &#34920;&#36798;&#24335;&#21019;&#24314;&#30340;&#23545;&#35937;&#65292;&#24182;&#37322;&#25918;&#20854;&#25152;&#25317;&#26377;&#30340;&#20869;&#23384;&#21306;&#22495;<br />
<a href="cpp-language-sizeof.html"><tt>sizeof</tt></a> &#26597;&#35810;&#31867;&#22411;&#30340;&#22823;&#23567;<br />
<a href="cpp-language-sizeof....html"><tt>sizeof...</tt></a> &#26597;&#35810;<a href="cpp-language-parameter_pack.html">&#24418;&#21442;&#21253;</a>&#30340;&#22823;&#23567;<span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span><br />
<a href="cpp-language-typeid.html"><tt>typeid</tt></a> &#26597;&#35810;&#31867;&#22411;&#30340;&#31867;&#22411;&#20449;&#24687;<br />
<a href="cpp-language-noexcept.html"><tt>noexcept</tt></a> &#26597;&#35810;&#34920;&#36798;&#24335;&#26159;&#21542;&#33021;&#25243;&#20986;&#24322;&#24120;<span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span><br />
<a href="cpp-language-alignof.html"><tt>alignof</tt></a> &#26597;&#35810;&#31867;&#22411;&#30340;&#23545;&#40784;&#35201;&#27714;<span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></p>
</td>
</tr>
</table>
<table class="t-dsc-begin"></table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>