C++ 注释怎么写?// 和 /* */ 的区别
注释是写给人看的文字,编译器直接跳过,对程序运行没有任何影响。
两种写法:// 注释到行尾(单行),/* */ 可以跨行(多行)。
注释的真正用途不是复述代码在做什么,而是说明为什么这样做。
两种注释
#include <iostream>
using namespace std;
/*
* 程序功能:输出一句问候
*/
int main() {
// 输出问候语
cout << "你好!" << endl;
return 0;
}
单行注释 //:从 // 到行尾均为注释。可独占一行,也可跟在代码之后。
多行注释 /* */:从 /* 到 */ 均为注释,可以跨行。典型用途是文件头部的说明块,以及临时停用整段代码。
注释的真正用途
初学者容易把注释写成代码的复读:
int a = 6; // 定义变量a并赋值为6 —— 无效注释,代码本身已经说明
有价值的注释写的是代码中看不出来的信息——为什么这样做、有什么约束:
int maxScore = 100; // 规则上限,超出按 100 计
判断标准:遮住代码只看注释,能理解程序为什么这样设计,注释就是合格的。
用注释调试
调试时验证「去掉这行会怎样」,不必删除代码,用注释将其停用:
// cout << a << endl; 暂时不输出 a
这行代码仍在文件中,但编译器将其忽略,恢复时去掉 // 即可。这是调试阶段的常用手法。
常见错误
/* */漏写收尾:缺少*/时后续代码全部被注释,报错位置往往远离真正的问题;/* */嵌套:/* ... /* ... */ ... */不成立,第一个*/即结束注释;- 误认为字符串中的 // 是注释:
"http://..."中的//是字符串内容,编译器不会把它当注释。
至此第一章结束:程序的结构、编译与运行的关系、头文件、名字空间、注释。下一章进入变量——变量监视区将从那里开始有内容。
常见问题
// 和 /* */ 有什么区别?
// 是单行注释,从 // 到行尾都是注释;/* */ 是多行注释,可以跨越多行。日常代码 // 使用最多,/* */ 适合文件头说明和临时停用整段代码。
注释会影响程序运行吗?
不会。编译器直接跳过注释,注释不生成任何机器指令。有无注释,编译结果完全相同。
注释可以写中文吗?
可以。注释的读者是人,使用中文或英文均可,现代编辑器(包括 CppStudio)都正常支持中文注释。
注释掉代码是什么意思?
指用注释标记把暂时不想执行的代码包起来,使其失效但不删除——调试时常用这一技巧验证某行代码的影响。但长期不用的代码应当删除,而不是堆积成注释。