属于编译器预处理的范畴,属于编译器概念(而非运行期概念)。
如下:
这样每次divider(除数)为0的时候便会在 标准错误流 上输出一个提示信息。
##被称为连接符(concatenator),用来将两个Token连接为一个Token。注意,这里连接的对象是Token即可,而不一定是宏的变量。
int NAME(a); int NAME(b); 在经过预处理后这一声明变为:int int_namea; int int_nameb;
可以看出,预编译时,宏参数n被替换,并和name连接成一个整体,然后整体替换NAME宏。
原文:https://www.cnblogs.com/douzujun/p/10615885.html