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

转载 2006年05月29日 21:35:00

条款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++程序更加高效】条款01:尽量使用常量/内联而不是预处理器/宏定义

C++程序员分为两种,一种读过《让你的C++程序更加高效》,另一种则没有 Item  1:  Prefer const  and inline to #define. OR "prefer...

【让你的C++程序更加高效】条款03:尽量使用new/delete而不是malloc/free

首先说明一下 new/delete是C++的运算符(比如+,-,*,/等都是运算符) malloc/free是函数,在堆(heap)上分配内存/回收内存 假设现在要为一个(或一组)对象分...

【Effective C++ 读书笔记】条款03: 尽量使用 const

关键字const多才多艺,变化多端却不高深莫测。const 修饰指针 面对指针, 你可以指出 指针自身、指针所指物、或者两者都不是 const。如果关键字 const 出现在星号左边,表示被指物是常...

Effective C++ 条款4——确定对象被使用前已先被初始化

得到的

effective c++条款4(确定对象被使用前先被初始化)

确保声明的变量都要先初始化,若不初始化,会产生异常值 初始化的方式有手动初始化或者用input stream初始化 除了内置类型之外,我们写的构造函数也要确保将对象的每个成员初始化初始化和赋值...

[More Effective C++]尽量使用C++风格的类型转换

Item M2:尽量使用C++风格的类型转换 1、C不支持一下转换: 1)把一个指向const 对象的指针(pointer-to-const-object)转换成指向const 对象的指针(poin...
  • AlphaGQ
  • AlphaGQ
  • 2017年04月10日 21:27
  • 230

More Effective C++议题【二】:尽量使用C++风格的类型转换

> 学习笔记【一】 C风格的类型转换的缺点: 过于粗鲁: 允许在任何类型间进行转换。代码阅读时在程序语句中难以识别。 其中第一点在转换不同行为类型中体现出了巨大的差异性,建议中的例子包括 :...

More Effective C++ ——02_尽量使用C++风格的类型转换

条款二:尽量使用C++风格的类型转换C风格的类型转换的特点: 一、它们过于粗鲁,能允许你在任何类型之间进行转换。 例如把一个指向const对象的指针(pointer-to-const-object...

More Effective C++----(1)指针与引用的区别 & (2)尽量使用C++风格的类型转换 & (3)不要对数组使用多态

Item M1:指针与引用的区别 指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使...

Effective C++ 阅读笔记_条款27 尽量少做转型动作

Effective C++ 阅读笔记_条款27 尽量少做转型动作 Effective C++ 阅读笔记_条款27 尽量少做转型动作 1.转型的三种形式,可以分为两大类。 (1)旧式转型(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:条款4:尽量使用c++风格的注释
举报原因:
原因补充:

(最多只允许输入30个字)