C++带有不带括号的变量的宏

C++ macros with variables without parentheses

本文关键字:变量 C++      更新时间:2023-10-16

在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);

有可能做这样的事情吗?

这不是预处理器可以管理的东西。

作为其他人所说的补充,最好避免大量使用宏,除非您真的知道要用它们做什么,并且有充分的理由不简单地为工作创建函数。