📖 学习信息
学习课程:黑马C++零基础教程
本日学习:C++ 注释(单行注释、多行注释)、注释规范、实用场景
学习目标:掌握两种注释的写法,明白注释的作用,养成规范写注释的习惯,为后续复杂代码复盘打基础
一、为什么要写注释?
注释是写给人看的,不是给编译器看的——编译器在编译代码时,会直接忽略所有注释内容,不影响程序运行。
核心作用:
- 给自己看:后续复习时,快速看懂当时写的代码逻辑,避免“写了就忘”
- 给别人看:团队协作或分享代码时,让他人快速理解代码功能、思路
- 调试代码:暂时注释掉某段代码,测试程序问题(无需删除,方便后续恢复)
重点提醒:注释不是越多越好,而是“关键处必有注释”,简洁明了、直击重点即可。
二、C++ 两种注释的写法(必掌握)
C++ 兼容 C 语言的注释方式,同时新增了更便捷的单行注释,两种方式按需使用,核心写法记牢即可。
1. 单行注释(最常用)
✅ 语法:用 // 开头,后面跟注释内容,只作用于当前行
✅ 适用场景:注释单个语句、简短说明(一行能说完的内容)
✅ 代码示例:
#include <iostream>
using namespace std;
int main()
{
// 定义一个整型变量a,赋值为10(单行注释:说明变量含义)
int a = 10;
// 向控制台输出变量a的值(注释:说明语句功能)
cout << "a的值是:" << a << endl;
return 0; // 程序正常结束,返回0
}
注意:// 后面的所有内容都会被视为注释,包括代码(注释后的代码不会执行)。
2. 多行注释
✅ 语法:用 /* 开头,*/ 结尾,中间包裹注释内容,可跨多行
✅ 适用场景:注释一段代码、函数说明、代码块的整体思路(多行才能说清的内容)
✅ 代码示例:
#include <iostream>
using namespace std;
/*
* 多行注释:用于说明整个函数的功能
* 函数名称:main
* 函数作用:程序入口,执行简单的变量定义和输出操作
* 返回值:0,表示程序正常结束
*/
int main()
{
/*
* 定义两个整型变量
* a:存储第一个数值,赋值为10
* b:存储第二个数值,赋值为20
*/
int a = 10;
int b = 20;
cout << "a + b = " << a + b << endl; // 输出两数之和
return 0;
}
三、注释的核心规范(避坑+美观)
零基础阶段就要养成规范,后续写复杂代码才不会混乱,重点记住4点:
- 注释要简洁:不用写废话,比如“定义变量a”就够了,不用写“我现在要定义一个整型变量,名字叫a”。
- 注释要和代码对应:注释写在被注释内容的上方或右侧,不要脱节(比如注释写在代码下面,容易混淆)。
- 不注释显而易见的代码:比如
cout << "Hello World" << endl;,不用注释“输出Hello World”,一眼就能看懂。 - 多行注释不要嵌套:
/* 注释1 /* 注释2 */ */这种写法会报错,编译器无法识别嵌套的结束标记。
四、常见错误与避坑点
- ❌ 错误1:单行注释换行后失效 比如:
// 这是一行很长的注释,我想换行继续写 ``但是换行后,这部分就不是注释了(换行后的内容会被当作代码,可能报错) - ❌ 错误2:多行注释忘记写结束标记
*/比如:/* 这是一个多行注释,忘记写结束(编译器会一直往后找结束标记,导致后续代码全部被当作注释,程序无法正常编译) - ❌ 错误3:用注释屏蔽代码时,不小心屏蔽多余内容 比如:注释掉某行代码时,把后面的代码也包含进了多行注释,导致代码缺失。
五、今日学习总结
- 掌握两种注释写法:单行
//(常用)、多行/* ... */(适配长注释); - 理解注释的作用:给人看、辅助调试,不影响程序运行;
- 记住核心规范:简洁、对应、不嵌套、不注释无用内容;
- 避坑重点:多行注释必须有始有终,单行注释不换行生效。
✍️ 下节预告
下一篇将学习 C++ 核心基础:变量、常量,继续跟着黑马教程稳步推进,夯实零基础基础。