企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 【知识精讲】在程序中添加注释 ## Part1 在前面的课程中,我们看到一些给出的代码中一些以`//`开头的内容,这些以`//`开头的内容是一种用于解释说明的信息,我们称之为**注释**。 在代码比较长,或者程序设计的逻辑比较复杂的时候,我们就需要为程序写一些注释了。在 C/C++ 语言中,一共有两种注释的方式——第一种是我们已经看到的在某一行中插入`//`的形式,这行中,`//`后的所有内容将在程序编译时被忽略,成为仅被程序员所关注的内容。我们将这种形式的注释称为**行注释**。 ## Part2 在 C++ 语言中,还有另一种注释——以`/*`作为开头,以`*/`作为结尾。在一对`/*`与`*/`之间的所有内容都会被作为注释的内容,只让程序员作为参考,而在程序编译时不被关注。我们将这种形式的注释称为**块注释**。 行注释和块注释的目的其实都是一样的,小渡在课程代码中写一些注释,可以帮助你了解如何更好的学会程序;你写一些注释可以让自己在之后回顾时不至忘记自己的想法,也可以让和你一起写程序的其他人更容易地看懂你的程序。 ## Part3 你可能会好奇:既然有两种不同的注释,什么时候用块注释、什么时候用行注释呢? 一般来说,对于以下两种情况下,我们会使用块注释: * 需要把一大段代码暂时性注释掉的时候 * 使用一些会读取代码中块注释来生成文档的工具的时候 除了以上的两种情况,我们都建议大家使用行注释,哪怕是连续的几行文字,我们都依然建议你分成多个连续行注释来进行说明,而不是使用一个跨多行的块注释。 ## Part4 你是不是有些怀疑小渡的说法?来让我带你来看一个多行注释写法可能造成的问题。 ~~~ int main() { cout << "Hello"; /* 说你好 */ cout << "World"; return 0; } ~~~ 对于上面给出的情况,如果我们需要暂时性注释掉 main 函数内的前两行代码,我们将得到一个这样的代码片段: ~~~ /* cout << "Hello"; /* 说你好 */ cout << "World"; */ ~~~ 这种情况下,第一个`cout`开始前的`/*`和“说你好”后的 `*/` 将会被匹配。而编译器将无法正常的对之后的一个`*/`进行理解。这种问题是不是我们不希望出现的呢?如果我们平时都用单行注释,是不是就不会有这样的问题了呢?