c++ 条件编译的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:12:42
#if !defined(AFX_STDAFX_H__992D6CF0_880B_46B1_BCEB_D67C69DF5AB4__INCLUDED_)
#define AFX_STDAFX_H__992D6CF0_880B_46B1_BCEB_D67C69DF5AB4__INCLUDED_
怎么解释?
我查了是防止重复定义的意思。但是我不明白为什么上面得#define AFX_STDAFX_H__992D6CF0_880B_46B1_BCEB_D67C69DF5AB4__INCLUDED_
后面没有了呢?按说他后面是个常量或者是个函数啊

宏是可以定义为空的,这里就是定义一个空宏,因为这个宏仅仅用来判断是否重复包含,不需要值

#ifndefine ABXD_H
#define ABXD_H
//下面是函数体,一大片的啊!!
。。。。。
。。。
。。。

#endif

这是为了防止重复定义的,或重复包含。

仔细看看,头文件的最后面还有个#endif

#define是定义的意思,上面的意思就是要是定义成功了就定义他,否则不定义.就达到了防止重复定义的效果.