注释通常用于概述算法,确定变量的用途,或者解释晦涩难懂的代码段。
编译器会忽略注释,因此注释对程序的行为或性能不会有任何影响。
C++中注释的种类
- 单行注释:以双斜线(//)开始,以换行符结束。当前双斜线右侧的所有内容都会被编译器忽略。
- 界定符对注释:以/*开始,以*/结束,可以包含出*/外的任意内容,包括换行符。
当注释界定符跨越多行时,最好能显式指出其内部的程序行都属于多行注释的一部分。
C++所采用的风格是,注释内的每行都以一个星号开头,从而指出整个范围都是多行注释的一部分。
#include <iostream> /* * 简单主函数: * 读取两个数,求它们的和 */ int main() { //提示用户输入两个数 std::cout << "Enter two numbers:" << std::endl; int v1 = 0, v2 = 0; //保存我们读入的输入数据的变量 std::cin >> v1 >> v2; //读入输入数据 std::cout << "the numbers of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl; return 0; }
注释界定符不能嵌套
界定符对形式的注释是以/*开始,以*/结束。因此,一个注释不能嵌套在另一个注释之内。
我们通常需要在调试期间注释掉一些代码。由于这些代码可能包含界定符对形式的注释,因此最好的方式是用单行注释注释掉代码段的每一行。
///* // * 单行注释中的任何内容都会被忽略 // * 包含嵌套的注释对也一样会被注释 // */
1.3 节练习
练习 1.7:编译一个包含不正确的嵌套注释的程序,观察编译器返回的错误信息。
练习 1.8:指出下列哪些输出语句是合法的(如果有的话):
std::cout << "/*"; 合法 输出/* std::cout << "*/"; 合法 输出*/ std::cout << /* "*/" */; 不合法 std::cout << /* "*/" */";即可 输出 */ std::cout <</* "*/" /* "/*" */; 合法 输出 /*