C_and_CPP 版 (精华区)

发信人: seaboy (壳儿), 信区: C_and_CPP
标  题: 条款4:尽量使用c++风格的注释
发信站: 哈工大紫丁香 (2003年11月07日11:47:40 星期五), 站内信件

条款4:尽量使用c++风格的注释

旧的c注释语法在c++里还可以用,c++新发明的行尾注释语法也有其过人之处。例如下面这
种情形:


if ( a > b ) {
    // int temp = a;    // swap a and b
    // a = b;
    // b = temp;
}

假设你出于某种原因要注释掉这个代码块。从软件工程的角度看,写这段代码的程序员也
做得很好,他最初的代码里也写了一个注释,以解释代码在做什么。用c++形式的句法来注
释掉这个程序块时,嵌在里面的最初的注释不受影响,但如果选择c风格的注释就会发生严
重的错误:


if ( a > b ) {
    /*  int temp = a;  /* swap a and b */
        a = b;
        b = temp;
    */
}

请注意嵌在代码块里的注释是怎么无意间使本来想注释掉整个代码块的注释提前结束的。

c风格的注释当然还有它存在的价值。例如,它们在c和c++编译器都要处理的头文件中是无
法替代的。尽管如此,只要有可能,你最好尽量用c++风格的注释。

值得指出的是,有些老的专门为c写的预处理程序不知道处理c++风格的注释,所以象下面
这种情形时,事情就不会象预想的那样:


#define light_speedp 3e8    // m/sec (in a vacuum)

对于不熟悉c++的预处理程序来说,行尾的注释竟然成为了宏的一部分!当然,正象条款1
所说的那样,你无论如何也不会用预处理来定义常量的。

--
欢迎到C_and_CPP版讨论相关问题。

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.104]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.522毫秒