112 lines
8.7 KiB
HTML
112 lines
8.7 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>注释</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_comment skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">注释</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<p>注释是一种代码内文档。当被插入到程序中时,它们实际上会被编译器忽略;它们只需要被阅读源代码的人当作注记。虽然具体的文档并不是 C++ 标准的一部分,但一些工具可以解析各式注释。</p>
|
|
<h3><span class="mw-headline" id=".E8.AF.AD.E6.B3.95">语法</span></h3>
|
|
<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">注释</span> <code><b>*/</b></code></td>
|
|
<td>(1)</td>
|
|
<td class="t-sdsc-nopad"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="10" class="t-sdsc-sep"></td>
|
|
</tr>
|
|
<tr class="t-sdsc">
|
|
<td><code><b>//</b></code> <span class="t-spar">注释</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> 通称为“ C 风格”或“多行”注释。</div>
|
|
<div class="t-li1"><span class="t-li">2)</span> 通称为“ C++ 风格”或“单行”注释。</div>
|
|
<p>在<a href="cpp-language-translation_phases.html">翻译阶段 3</a> 中,每段注释通过被替换为单个空白字符从程序中移除。</p>
|
|
<h3><span class="mw-headline" id="C_.E9.A3.8E.E6.A0.BC">C 风格</span></h3>
|
|
<p>C 风格注释通常用于注释大块的文本,也可以用于注释单行文本。要插入一个 C 风格注释,可以简单地以 <code>/*</code> 和 <code>*/</code> 环绕文本;这样会使注释的内容被编译器忽略。尽管不是 C++ 标准的一部分, <code>/**</code> 和 <code>*/</code> 常用于指示文档块;这是合法的,因为第二个星号简单地被当做注释的一部分。C风格注释不能被嵌套。</p>
|
|
<h3><span class="mw-headline" id="C.2B.2B_.E9.A3.8E.E6.A0.BC">C++ 风格</span></h3>
|
|
<p>C++ 风格注释通常用于注释单行文本;不过也可以把多个 C++ 风格注释放在一起来组成多行注释。 C++ 风格注释告诉编译器忽略 <code>//</code> 和换行符之间的所有内容。</p>
|
|
<h3><span class="mw-headline" id=".E6.B3.A8.E6.84.8F">注意</span></h3>
|
|
<p>因为注释在预处理器阶段前已经<a href="cpp-language-translation_phases.html">被移除</a>,所以宏不能用于组成注释,而且未终止的 C 风格注释不会从被 #include 的文件中漏出。</p>
|
|
<p>除了把代码注释掉之外,用于排除源代码的其他机制还有:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="co2">#if 0</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1"><<</span> <span class="st0">"这一句不会被执行,甚至不会被编译<span class="es1">\n</span>"</span><span class="sy4">;</span>
|
|
<span class="co2">#endif</span></pre></div>
|
|
</div>
|
|
<p>以及</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="kw1">if</span><span class="br0">(</span><span class="kw2">false</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"><<</span> <span class="st0">"这一句不会被执行<span class="es1">\n</span>"</span><span class="sy4">;</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">示例</span></h3>
|
|
<div class="t-example">
|
|
<div class="t-example-live-link"></div>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="co2">#include <iostream></span>
|
|
<span class="coMULTI">/* C 风格注释
|
|
能含有多行 */</span>
|
|
<span class="coMULTI">/* 或只有一行 */</span>
|
|
|
|
<span class="coMULTI">/**************
|
|
* 你能插入任意数量的 * ,
|
|
* 但你不能嵌套注释
|
|
*/</span>
|
|
|
|
<span class="co1">// C++ 风格注释能注释一行</span>
|
|
|
|
<span class="co1">// 或者,能将</span>
|
|
<span class="co1">// 它们串在一起</span>
|
|
|
|
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
|
|
<span class="br0">{</span>
|
|
<span class="co1">// 注释在预处理前被移除,</span>
|
|
<span class="co1">// 故 ABC 为 1 ,而非 1//2134 ,</span>
|
|
<span class="co1">// 而 "1 hello world"将得以打印</span>
|
|
<span class="co2">#define ABC 1//2134</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1"><<</span> ABC <span class="sy1"><<</span> <span class="st0">" hello world<span class="es1">\n</span>"</span><span class="sy4">;</span>
|
|
|
|
<span class="co1">// 下方代码不会运行</span>
|
|
<span class="co1">// return 1;</span>
|
|
|
|
<span class="co1">// 下方代码会运行</span>
|
|
<span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
<p>输出:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="text source-text">
|
|
<pre class="de1">1 hello world</pre></div>
|
|
</div>
|
|
</div>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
|
<table class="t-dsc-begin"></table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|