在 C 中,下划线作为宏参数的含义是什么?
#define FUNC(_) VALUE
这是一个虚假的论点吗?适用于其适合的用例的任何示例
答案 0 :(得分:6)
_
没有特殊含义,我想他们使用它是因为它看起来好像参数不存在。
_
只是一个有效的标识符,因此它需要一个参数,但它保持宏定义看起来好像没有参数。
#define FUNC(ignoredParameter) VALUE
将是相同的。
答案 1 :(得分:5)
在这种情况下,代码可以读作:
FUNC
只需要一个参数,但它并不关心它是什么。无论传入什么,VALUE
都是结果。
单个_
是C中的有效标识符,因此适合用作宏参数名称。