C++Primer 注释简介
欢迎阅读我的
【C++Primer】专栏
专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!
1.3注释简介
在程序变得复杂之前,我们应该了解一下C++是如何处理注释的。注释可以帮助人类读者理解程序。注释通常用于概述算法,确定变量的用途,或者解释晦涩难懂的代码段。编译器会忽略注释,因此注释对程序的行为或性能不会有任何影响。
虽然编译器会忽略注释,但读者并不会。即使系统文档的其他部分已经过时,程序员也倾向于相信注释的内容是正确可信的。因此,错误的注释比完全没有注释更糟,因为他会误导读者。因此,当你修改代码时,不要忘记同时更新注释!
C++中注释的种类
C++中有两种注释:单行注释和界定符注释。单行注释以双斜线(//)开始,以换行符结束。当前行斜线右侧所有内容都会被编译器忽略,这种注释可以包含任何文本,包括额外的双斜线。
另一种注释使用继承自C语言的两个界定符(/和/)。这种注释以 /开始,以/结束,可以包含除*/外的任意内容,包括换行符。编译器将落在/和/之间的所有内容都当做注释。
注释界定符可以放置于任何允许防止制表符,空格或者换行的地方。注释界定符可以跨越程序中的多行,但这并不是必须的。当注释界定符跨越多行时,最好能显示指出其内部程序行都属于多行注释的一部分。我们所采用的风格是,注释内的每一个星号开头,从而指出整个范围都是多行注释的一部分。
程序中通常同时包含两种形式的注释。注释界定符对通常用于多行注释,而双斜线注释常用于半行和单行附注。
/*
* 简单的主函数
* 读取两个数,求他们的和
*/
int main()
{
// 提示用户输入两个数
std::cout << "Enter two numbers:" <<std::endl;
int v1 = 0, v2= 0; // 保存我们读入的输入数据的变量
std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;
return 0;
}
注释界定符不能嵌套
界定符对形式的注释是以 /* 开始,以 */结束的。因此,一个注释不能嵌套在另一个注释之内。编译器对这类问题所给出的错误信可能是难以解释,令人迷惑的。例如,在你的系统中编译下面的程序,就会产生错误:
/*
* 注释对 /* */不能嵌套。
* “不能嵌套”几个字会被认为是源码,
* 像剩余程序一样处理
* /
int main()
{
return 0;
}
我们通常需要再调试期间注释掉一些代码。由于这些代码可能包含界定符对形式的注释,因此可能导致注释嵌套错误,因此最好的方式是用单行注释方式注释掉代码段的每一行。
// /*
// * 单行注释中的任何内容都会被忽略掉
// * 包括嵌套的注释对也是一样会被忽略
// */