C++取消定义宏

C++取消定义宏教程

C++ 中,我们定义了 或者 宏函数 之后,我们还可以使用 undef 取消定义宏和宏函数。

C++取消定义宏

语法

#undef MACRO_NAME

参数

参数 描述
MACRO_NAME 宏名称

说明

我们使用了 #undef 取消了宏的定义。

案例

取消定义宏

使用了 #undef 取消定义宏

#include <iostream> using namespace std; #define PI 3.14 int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; cout << "PI = " << PI << endl; #undef PI cout << "PI = " << PI << endl; return 0; }

程序运行后,控制台输出如下图所示:

13_C取消宏定义.png

我们首先定义了一个宏,接着,我们访问了该宏,接着,我们使用了 #undef 取消定义了该宏,最后,我们再次访问该宏,此时,我们看到程序报错了。

即,我们使用了 #undef 取消定义了宏,取消定义宏之后,不可以再次访问该宏。

取消定义宏函数

使用了 #undef 取消定义宏函数

#include <iostream> using namespace std; #define ISDIGIT(c) ((c) >= '0' && (c) <= '9') int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; char ch1 = 'a'; char ch2 = 'B'; int isDigit1 = ISDIGIT(ch1); #undef ISDIGIT int isDigit2 = ISDIGIT(ch2); return 0; }

程序运行后,控制台输出如下图所示:

14_C取消宏定义.png

我们首先定义了一个宏函数 ISDIGIT,接着,我们调用了该函数,接着,我们使用 #undef 取消定义了该宏函数,最后,我们再次调用该宏函数,程序报错。

C++取消定义宏总结

在 C++ 中,我们定义了宏或者宏函数之后,我们还可以使用 undef 取消定义宏和宏函数。