c++单行注释用//,仅作用于本行,不嵌套、不跨行、不处理字符串内//;块注释/ /与//互不识别,禁止嵌套;//不可用于注释预处理指令,推荐删除而非注释。

单行注释用 //,从它开始到行尾全部被忽略
这是 C++ 标准支持的最常用单行注释方式,编译器遇到 // 就直接跳过后面所有内容,直到换行。它不嵌套、不跨行,也不需要配对闭合。
常见错误是误以为 // 能注释多行——其实不能。比如写成:
// 这是一行注释 int x = 1; // 这是另一行,但上面那行“//”没管它 // 这行才真正被注释
注意:如果在字符串或字符字面量里出现 //,它不会触发注释行为,因为此时它只是普通文本。
// 和 /* */ 别混着用,尤其别在 /* */ 里嵌套 //
/* */ 是块注释,本意是覆盖多行,但它和 // 是两套独立机制,互不识别。所以以下写法是错的:
/* 这里想注释掉一段代码 int y = 2; // 但这个 // 并不起作用 return y; */
上面整个块会被视为一条注释,// 完全没意义;更危险的是,如果块注释中途意外提前闭合(比如多写了一个 */),会导致后续代码意外暴露或编译失败。
- 只用
//注释单行逻辑、变量说明、临时禁用某行 - 用
/* */确实需要屏蔽多行代码时(比如调试阶段大段注释) - 不要交叉使用,避免歧义和维护风险
IDE 或编辑器可能自动补全 //,但别依赖它处理缩进或空格
很多编辑器(如 VS Code、CLion)选中多行后按 Ctrl+/ 会自动每行加 //,看起来很省事。但要注意:
- 如果某行已有内容且开头有空格或制表符,补全后
//会紧跟在空白后,视觉上可能错位 - 有些编辑器会在
//后加一个空格,有些不加——这不是语法要求,但团队协作时建议统一风格 - 手动敲
//时,别写成//后紧贴代码(如//int x=1;),可读性差,也违反多数代码规范
推荐写法:// (斜杠+空格),再跟说明文字或被注释的代码。
预处理器指令前不能用 // 注释掉整行
像 #include、#define 这类预处理指令必须独占一行,且不能被 // 隐藏在行内。以下写法是非法的:
// #include <iostream> // ❌ 错误:这行被完全跳过,头文件没包含
int main() { ... }
</iostream>
正确做法是删掉整行,或改用 /* */ 包裹(虽然也不推荐长期这么做),或者用条件编译:
#if 0 #include <iostream> #endif </iostream>
不过最干净的方式还是直接删掉不需要的 #include 行——毕竟注释掉预处理指令容易让人误以为它还在起作用。
真正容易被忽略的是:注释不是删除,它让代码“还在那里”,只是不执行。多人协作时,残留的注释代码比删掉的代码更易引发误解。
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!











