在C ++中,人们可以做类似
的事情#define my_happy_macro(x) do_something_with(x)
或者
#define $(x) do_something_with(x)
然而,我想做的是
#define $x do_something_with(x)
所以当我写
时$x;
在我的代码中,预处理器将其替换为
do_something_with(x);
是否可以做这样的事情?
答案 0 :(得分:2)
这不是预处理器可以管理的东西。
作为其他人所说的补充,最好避免大量使用宏,除非你真的知道你要对它们做什么,并且有充分的理由不简单地为这项工作创建一个函数。