评论

一个评论是将源代码内任意的文本,而无需 C++编译器的任何功能意义解释它的一种方式。注释用于深入了解程序的设计或方法。

C++中有两种类型的注释:

单行评论

双正斜杠序列//将标记所有文本,直到换行作为注释:

int main()
{
   // This is a single-line comment.
   int a;  // this also is a single-line comment
   int i;  // this is another single-line comment
}

C 风格/块评论

序列/*用于声明注释块的开始,序列*/用于声明注释的结束。即使文本是有效的 C++语法,开始和结束序列之间的所有文本都被解释为注释。这些有时被称为“C 风格”注释,因为这个注释语法继承自 C++的前身语言 C:

int main()
{
   /*
    *  This is a block comment.
    */
   int a;
}

在任何块注释中,你可以编写任何你想要的内容。当编译器遇到符号*/时,它会终止块注释:

int main()
{
   /* A block comment with the symbol /*
      Note that the compiler is not affected by the second /*
      however, once the end-block-comment symbol is reached,
      the comment ends.
   */
   int a;
}

上面的例子是有效的 C++(和 C)代码。但是,在块注释中包含额外的/*可能会导致某些编译器发出警告。

块注释也可以一行开始和结束。例如:

void SomeFunction(/* argument 1 */ int a, /* argument 2 */ int b);

评论的重要性

与所有编程语言一样,注释提供了几个好处:

  • 明确的代码文档,使其更易于阅读/维护
  • 解释代码的目的和功能
  • 有关代码背后的历史或推理的详细信息
  • 直接在源代码中放置版权/许可证,项目说明,特别感谢,贡献者积分等。

但是,评论也有其缺点:

  • 必须维护它们以反映代码中的任何更改
  • 过多的注释往往会降低代码的可读性

通过编写清晰的自我记录代码可以减少对注释的需求。一个简单的例子是对变量,函数和类型使用解释性名称。将逻辑相关的任务分解为离散函数与此相辅相成。

注释标记用于禁用代码

在开发过程中,注释还可用于快速禁用部分代码而不删除它。这通常对测试或调试有用,但对于临时编辑以外的任何其他方式都不是好的样式。这通常被称为评论

类似地,将一段代码的旧版本保留在注释中用于参考目的是不受欢迎的,因为与通过版本控制系统探索代码的历史相比,它在提供很少价值的同时使文件变得混乱。