gpt4 book ai didi

c++ - 调用不带括号的类函数宏?

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:30 24 4
gpt4 key购买 nike

假设我们将以下内容传递给 gcc 的预处理器:

#define REM(...) __VA_ARGS__
#define PAIR(x) REM x

PAIR((a)b)

它将 PAIR((a)b) 扩展为 a b。这是怎么发生的?我对 REM 在没有括号的情况下使用以及 x 没有按原样回显感到困惑...

最佳答案

当你写的时候:

PAIR((a)b)

给出定义

PAIR(x) REM x

这意味着 x = (a)b。所以,我们可以把右边写成

REM (a)b

对吗?

现在 REM(a) 只是 a,所以 REM (a)b 只是 a b (除非您明确使用标记粘贴,否则标记由空格分隔。

关于c++ - 调用不带括号的类函数宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37260923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com