C++系统学习日记 · 第01天|吃透注释:规范写法+实用场景

3 阅读4分钟

📖 学习信息

学习课程:黑马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点:

  1. 注释要简洁:不用写废话,比如“定义变量a”就够了,不用写“我现在要定义一个整型变量,名字叫a”。
  2. 注释要和代码对应:注释写在被注释内容的上方或右侧,不要脱节(比如注释写在代码下面,容易混淆)。
  3. 不注释显而易见的代码:比如 cout << "Hello World" << endl;,不用注释“输出Hello World”,一眼就能看懂。
  4. 多行注释不要嵌套:/* 注释1 /* 注释2 */ */ 这种写法会报错,编译器无法识别嵌套的结束标记。

四、常见错误与避坑点

  • ❌ 错误1:单行注释换行后失效 比如: // 这是一行很长的注释,我想换行继续写 ``但是换行后,这部分就不是注释了(换行后的内容会被当作代码,可能报错)
  • ❌ 错误2:多行注释忘记写结束标记 */ 比如:/* 这是一个多行注释,忘记写结束(编译器会一直往后找结束标记,导致后续代码全部被当作注释,程序无法正常编译)
  • ❌ 错误3:用注释屏蔽代码时,不小心屏蔽多余内容 比如:注释掉某行代码时,把后面的代码也包含进了多行注释,导致代码缺失。

五、今日学习总结

  1. 掌握两种注释写法:单行 //(常用)、多行 /* ... */(适配长注释);
  2. 理解注释的作用:给人看、辅助调试,不影响程序运行;
  3. 记住核心规范:简洁、对应、不嵌套、不注释无用内容;
  4. 避坑重点:多行注释必须有始有终,单行注释不换行生效。

✍️ 下节预告

下一篇将学习 C++ 核心基础:变量、常量,继续跟着黑马教程稳步推进,夯实零基础基础。