
在我们的程序变得更复杂之前,我们先看看C++是如何处理注释的。注释可以帮助人们阅读程序。在典型情况下,它们用于总结算法、表明变量的目的或澄清其它一些模糊的代码片段。注释不会增加可执行程序的大小。编译器会忽略所有注释。
在C++中有两种类型的注释:单行注释和成对注释。单行注释以双斜线(//)开头。同一行中斜线右侧的所有内容都是注释,会被编译器略过。
另一个分隔符是注释符号对(/* */),它继承自C语言。这种注释以/*开始,以*/结尾。编译器把/*和*/之间的部分都作为注释来处理:
注释符号对可以放置在允许输入tab、空格或新行的任何地方。注释符号对可以跨越程序的多个行,但是不是必须这样做的。当注释符号对没有跨越多个行,通常表明内部行是多行注释的一部分。我们的样式是每行以星号开始,因此表明整个范围都是多行注释的部分。
典型情况下程序包含多种注释形式。注释符号对通常用做多行解释,而双斜线注释倾向于半行或单行注释。
程序中混合了太多的注释可能使代码混乱。通常在要解释的代码上方放置注释。
随着代码的改变,注释也应该保持更新。程序员希望注释是精确的,并且很相信它们,即使其它形式的系统文档过期了。不正确的注释比没有注释还有糟糕,因为它会误导随后的阅读者。
注释符号对不能嵌套
以/*开始的注释通常以*/结束。其结果是一个注释符号对不能出现在另一个之中。这类程序错误导致的编译器错误消息可能难以理解。例如,在你的系统上编译下面的程序:
当你注释一大段程序的时候,看起来把注释符号对放在你希望临时略过的部分是最容易的。问题是如果那段代码已经有了注释符号对,那么新插入的注释将过早地终止。临时忽略一段代码的更好的办法是使用编辑器在希望忽略的代码的每一行前面插入单行注释。使用这种方法的时候,你就不必担心自己注释的代码是否包含注释符号对。
在C++中有两种类型的注释:单行注释和成对注释。单行注释以双斜线(//)开头。同一行中斜线右侧的所有内容都是注释,会被编译器略过。
另一个分隔符是注释符号对(/* */),它继承自C语言。这种注释以/*开始,以*/结尾。编译器把/*和*/之间的部分都作为注释来处理:
#include <iostream>
/* 简单的main函数: 读入两个数字并输出结果 */
int main()
{
// 提示用户输入数字
std::cout << "Enter two numbers:" << std::endl;
int v1, v2; // 初始化了的
std::cin >> v1 >> v2; // 读取输入
return 0;
}注释符号对可以放置在允许输入tab、空格或新行的任何地方。注释符号对可以跨越程序的多个行,但是不是必须这样做的。当注释符号对没有跨越多个行,通常表明内部行是多行注释的一部分。我们的样式是每行以星号开始,因此表明整个范围都是多行注释的部分。
典型情况下程序包含多种注释形式。注释符号对通常用做多行解释,而双斜线注释倾向于半行或单行注释。
程序中混合了太多的注释可能使代码混乱。通常在要解释的代码上方放置注释。
随着代码的改变,注释也应该保持更新。程序员希望注释是精确的,并且很相信它们,即使其它形式的系统文档过期了。不正确的注释比没有注释还有糟糕,因为它会误导随后的阅读者。
注释符号对不能嵌套
以/*开始的注释通常以*/结束。其结果是一个注释符号对不能出现在另一个之中。这类程序错误导致的编译器错误消息可能难以理解。例如,在你的系统上编译下面的程序:
#include <iostream>
/*
* 注释符号对 /* */ 不能嵌套。
* "不能嵌套" 会被认为是源代码的一部分
*/
int main()
{
return 0;
}当你注释一大段程序的时候,看起来把注释符号对放在你希望临时略过的部分是最容易的。问题是如果那段代码已经有了注释符号对,那么新插入的注释将过早地终止。临时忽略一段代码的更好的办法是使用编辑器在希望忽略的代码的每一行前面插入单行注释。使用这种方法的时候,你就不必担心自己注释的代码是否包含注释符号对。
全站资源
- 微软官方入门教程19:轻松掌握Vista系统的快
- 微软2008大冲击,预借Vista SP1力促Vista市
- 在收件箱中获得 Windows Vista 的最新更新
- 微软官方Vista入门教程全集19篇(Vista学院
- Windows Vista 的成功将势不可挡
- 快快抛弃Vista,拥抱XP SP3!你觉得呢?
- 浅谈Vista系统关闭虚拟内存与使用内存盘加速
- 嘿嘿,按下键盘上面的三个键,马上让你的Vi
- Windows Vista的盗版率只有Windows XP的一半
- 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
- Borland 发布C++ Builder 2006 RAD 环境
- C/C++程序员应聘常见面试题深入剖析
- Visual C++常用数据类型转换详解
- C++中的 static 关键字
- 利用VC++实现局域网实时视频传输
- 浅谈C/C++内存泄漏及其检测工具
- 英国投票否决C++/CLI 微软强攻ISO标准受挫
- VC++下用MSComm控件实现串口通讯
- 伪随机数生成及在VC++中的实现
- VC++编程实现对波形数据的频谱分析
最新技术文档
- C++中用赋值形式op=取代单独形式op
- C++启蒙之用C++制作程序
- C++启蒙之C++中的类
- 解析C++/CLI之头文件、内联函数与数组
- C++启蒙之控制结构
- C++启蒙之注释符号
- 了解C++异常处理的系统开支
- C++语言学习之从结构到类
- C++中理解“传递参数”和异常之间的差异
- C++中禁止异常信息传递到析构函数外
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
