zoukankan      html  css  js  c++  java
  • (原创)c++primer(第五版)--1.3 注释简介

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

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

    个人建议:
    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;
        }

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

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

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

  • 相关阅读:
    获取手机安装的所有包名adb shell pm list packages
    启动管理
    日志管理
    系统管理:进程管理、终止进程、工作管理、系统资源查看
    报数出局问题,类似约瑟夫环(链表写法)
    多项式的链式写法
    简易的C语言地铁购票系统
    68-js 前端实现标签值的切换
    67-foreach 取循环的次数
    66-mybatis 插入数据返回主键
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/4307969.html
Copyright © 2011-2022 走看看