当前位置: 首页 > article >正文

C++Primer 注释简介

欢迎阅读我的 【C++Primer】专栏

专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!
在这里插入图片描述
在这里插入图片描述

1.3注释简介

在程序变得复杂之前,我们应该了解一下C++是如何处理注释的。注释可以帮助人类读者理解程序。注释通常用于概述算法,确定变量的用途,或者解释晦涩难懂的代码段。编译器会忽略注释,因此注释对程序的行为或性能不会有任何影响。
虽然编译器会忽略注释,但读者并不会。即使系统文档的其他部分已经过时,程序员也倾向于相信注释的内容是正确可信的。因此,错误的注释比完全没有注释更糟,因为他会误导读者。因此,当你修改代码时,不要忘记同时更新注释!

C++中注释的种类

C++中有两种注释:单行注释和界定符注释。单行注释以双斜线(//)开始,以换行符结束。当前行斜线右侧所有内容都会被编译器忽略,这种注释可以包含任何文本,包括额外的双斜线。
另一种注释使用继承自C语言的两个界定符(//)。这种注释以 /开始,以/结束,可以包含除*/外的任意内容,包括换行符。编译器将落在//之间的所有内容都当做注释。
注释界定符可以放置于任何允许防止制表符,空格或者换行的地方。注释界定符可以跨越程序中的多行,但这并不是必须的。当注释界定符跨越多行时,最好能显示指出其内部程序行都属于多行注释的一部分。我们所采用的风格是,注释内的每一个星号开头,从而指出整个范围都是多行注释的一部分。
程序中通常同时包含两种形式的注释。注释界定符对通常用于多行注释,而双斜线注释常用于半行和单行附注。

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

注释界定符不能嵌套

界定符对形式的注释是以 /* 开始,以 */结束的。因此,一个注释不能嵌套在另一个注释之内。编译器对这类问题所给出的错误信可能是难以解释,令人迷惑的。例如,在你的系统中编译下面的程序,就会产生错误:

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

我们通常需要再调试期间注释掉一些代码。由于这些代码可能包含界定符对形式的注释,因此可能导致注释嵌套错误,因此最好的方式是用单行注释方式注释掉代码段的每一行。

// /*
// * 单行注释中的任何内容都会被忽略掉
// * 包括嵌套的注释对也是一样会被忽略
// */

http://www.kler.cn/a/445041.html

相关文章:

  • 坑人 C# MySql.Data SDK
  • Windows安全中心(病毒和威胁防护)的注册
  • 小红书关键词搜索采集 | AI改写 | 无水印下载 | 多维表格 | 采集同步飞书
  • 在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释
  • 基于Arduino的平衡车机械臂
  • Ubuntu下C语言操作kafka示例
  • Django 提供的会话(Session)相关的设置说明
  • jenkins针对大文件进行拉取
  • flask before_request 请求拦截器返回无值则放行,有值则拦截
  • 【VUE】14、VUE项目如何自动识别服务端是否发布了新版本
  • Redis 突然变慢了如何排查并解决?
  • Spring Boot实现OAuth2.0登录实战
  • Flutter组件————BottomNavigationBar
  • vue2 - Day03 - (生命周期、组件、组件通信)
  • scala图书馆系统
  • ChatGPT生成接口测试用例(二)
  • mybatisPlus使用步骤详解
  • 安卓环境配置及打开新项目教程,2024年12月20日最新版
  • uniapp Native.js 调用安卓arr原生service
  • 《军工记忆》第二季播出,科技创新铸国之重器
  • mybatis逆向工程插件MyBatisX使用介绍
  • 裸金属服务器和传统服务器的区别
  • XLSTM+informer时间序列预测模型
  • 深入理解 Linux wc 命令
  • 【开源免费】基于Vue和SpringBoot的在线宠物用品交易网站(附论文)
  • WebGL入门到进阶教程 - 系统学习Web3D技术