宏定义的去除

来源:互联网 发布:大数据实时分析 spark 编辑:程序博客网 时间:2024/04/30 20:37

<C专家编程>中推荐,若自己定义了某个宏,在使用完之后,最好把它释放掉,从而在后面就没有这个宏了。

cout<< MAXY<<endl;
#undef MAXY<<endl

//cout<< MAXY<<endl;//释放后,它不可用了,

#undef  这个关键字可以在main函数中用。

而之前的#define一般是在文件开始中定义的。


由于宏定义可以覆盖,即若之前定义了这个宏(但会warning),而现在又定义了这个宏,则只有当前的生效。从而为了防止把之前的覆盖,一般用:

#ifndef MAX

#define ,...........


#endif

 这种方式,也经常用在防止头文件重复包含中。


注意:取消某个之前末定义的宏是允许的,在Linux中,有些文件一开始就#undef,然后定义自己的宏。

0 0
原创粉丝点击