使用下划线作为宏函数的参数

Usage of underscore as argument of a macro function

C中,下划线作为宏参数是什么意思?

#define FUNC(_) VALUE

这是一个伪参数吗?它适合的用例的任何示例?

在这种情况下,代码可以读作:

FUNC takes a single argument, but it doesn't care what it is. No matter what is passed in, VALUE is the result.

单个 _ 是 C 中的有效标识符,因此适合用作宏参数名称。

_ 没有特殊含义,我想他们使用它是因为它看起来好像没有参数。

_ 只是一个有效的标识符,因此宏需要一个参数,但它使宏定义看起来好像没有参数。

#define FUNC(ignoredParameter) VALUE

完全一样。