#ifndef xxx//如果没有定义xxx o!|TCwt
#define xxx//定义xxx b/'RJQSAc
#endif //结束如果 iYzm<3n?
这个用法主要是在头文件中,主要是为了防止类重复的include,所以在类的头文件之前加上前面两个,用类名替代xxx,在最后加上最后一句。 ^2!l/(?
l":Z. J
-------------------------------------------------- 7Ust7%
Q
1e hW
另,谢谢楼下的补充,不过有一点要注意的是,在C++里面中,尽量不要使用#define定义常量。见: Kj*:G!r0.:
%%k`+nK~
5.1 为什么需要常量 k&\ 6SK/
如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? `n~bDG>
rfc;
(1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。 Q
,)}t
Nn|~:9#
(2) 在程序的很多地方输入同样的数字或字符串,难保不发生书写错误。 %NfbgJcL_
Q::6|B,G
(3) 如果要修改数字或字符串,则会在很多地方改动,既麻烦又容易出错。 l+i9)Fc<i
?hwT{h
'-m )fWf
GOhGSV#
l 【规则5-1-1】 尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串。 NhA_dskvo
3_+$x4%
例如: Fm{`?!
`SO"F,
#define MAX 100 /* C语言的宏常量 */ 4F>?G{ci
gdyP,zMD7
const int MAX = 100; // C++ 语言的const常量 <