读书人

#define xxxxx // 不明白了。后面没有

发布时间: 2012-03-12 12:45:33 作者: rapoo

#define xxxxx // 不明白了。后面没有值了,是怎么回事?
#define xxxxx 123456

像这样的我名白,使用 xxxxx代替123456。

那么#define xxxxx

这样的是什么意思呢?

希望各位高手解答!

[解决办法]
#ifndef xxxxxx
#define xxxxxx //仅仅表示定义了宏
……
#endif
防止了重复引用头文件?
如xxxxx未定义,那么条件:#ifndef xxxxxx成功,跟在#ifndef xxxxxx 后面的所有行都执行(到#endif为止)。如果定义话就不会执行#ifndef xxxxxx 和#endif之间的部分
[解决办法]
仅仅定义了一个宏名字,它没有值的概念。它在程序中的作用只能与#ifdef 、#ifndef之类的预处理命令一起用,实现执行或不执行一段代码的功能。#undefine 可以取消已定义的这个宏名字。例如:
#define DEBUG_FLAG
......
#ifdef DEBUG_FLAG
printf("adsflaksflkafd");/*这一句能否执行,取决于上面的那个#define DEBUG_FLAG是否存在。并且是否还有一个#undefine DEBUG_FLAG存在*/
#endif

读书人网 >C++

热点推荐