注释可以帮助人类读者理解程序。注释通常用于概述算法,确定变量的用途,或者结束晦涩难懂的代码段。编译器会忽略注释,因此注释对程序的行为或者性能不会有任何影响。

  虽然编辑器会忽略注释,但读者并不会。即使系统文档的其他部分已经过时,程序员也倾向于相信注释的内容是正确可信的。因此,错误的注释比完全没有注释更糟糕,因为它会误导读者。因此,当你修改代码时,不要忘记同时更新注释!

个人建议:
1. 一定要写注释。一段代码,如果没有注释,一段时间后(可能只需一个月),自己看代码都会不知道这代码想要做什么,浪费自己的时间去重新理解代码;第二个,代码不只是给自己看,也是给其他人阅读,别人可能不关心你代码怎么实现,关心你代码是什么功能,这时候简单的注释就能达到目的;第三个,当你需要跟其他人交接工作时,没有注释的代码,只会增加其他人对代码的理解的难度,增加交接的困难。

2. 一定要及时更新注释。修改代码后,不更新注释,只会误导自己,还有其他人。害人害己。

3. 不要简单的:拷贝--复制。很多人喜欢直接拷贝代码,却不去更新注释,增加代码阅读难度。

   c++中注释的种类

  c++中有两种注释:单行注释和界定符对注释。

  单行注释:以双斜线(//)开始,已换行符结束。当前行 双斜线 右侧 的所有内容都会被编译器忽略,这种注释可以包含任何文本,包括额外的双斜线。

   界定符对注释:以/*开始,以*/结束,可以包含除了*/外的任意内容,包括换行符。编译器将落在/*和*/之间的所有内容当作注释。

单行注释和界定符对注释最大的区别是:
1. 单行注释只能是单行;
2. 界定符对注释可以是跨越多行。
界定符对注释,我们采用的风格是,注释内的每行都以一个星号开头,从而指出整个范围都是多行注释的一部分。

  (星月:小白,别睡了,起来看代码。。)

  (小白:哦哦~~(腹黑:谁让你说的这么枯燥))

  示例:

#include <iostream>
/*
* 简单主函数
* 读取两个数,求它们的和
*/
int main() {
    // 提示用户输入两个数
   std::cout << "Enter two number:" << std::endl;
    int v1 = 0, v2 = 0;  // 保存我们读入的输入数据的变量
   std::cin >> v1 >> v2; // 读取输入数据
   std::cout << "The sum fo " << v1 << " and " << v2 << " is "
                    << v1 + v2 << std::endl;
    return 0;
}

  上述代码,通过注释,我们可以很清楚的知道,函数的作用,语句的目的。

  注释界定符不能嵌套

  界定符对形式的注释是以/*开始,以*/结束的。因此,一个注释不能嵌套在另一个注释内。这类错误有时编译器给出的错误信息会难以理解。

  例如:

/* -- 1
* 注释对/* */不能嵌套  -- 2
* “不能嵌套”几个字会被认为是源码,
* 像剩余程序一样处理
*/  -- 3
int main() {
    return 0;
}

  上述代码中,1 处注释对应于 2 处。2处 到 3 处这段代码,不再是注释,而是会被当作程序处理。这是因为界定符对形式的注释是以/*开始,以*/结束的。而 2 处里面的/* 会被当作注释处理掉,不再是界定符。
  

这里提供一个个人小经验:
对于有返回值的函数,最好的做法是刚开始写函数体时,就将返回值带上。比如 main函数,一定有返回值。
先:
   #include <iostream>   
   int main() {
        return 0;
    }

然后再加入其他语句:
   #include <iostream>
   int main() {
        std::cout << "Hello World" << std::endl;
        return 0;
    }

当然,这也要看个人习惯。但是,因为我们经常会忘记写返回值,所以在刚开始写函数体内容时,先加上返回,是一个相当好的习惯。

  本节内容到此结束,希望对大家有帮助。

  星月倾心贡献~!学习过程最重要的是持之于恒,希望星月我能坚持学完,写完。目前星月是,学一节后,马上整理写成博客。在写博客的过程,也是对自己掌握的知识不断提炼的一个过程。大家共同进步~~