gpt4 book ai didi

c++ - 给定#define'ition ((void)0) 是否执行宏的参数?

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

我在 C++ 中有以下宏

#define AppLogExceptionIf(condition, ...) ((void) 0)

我想知道 condition 是否仍然会被执行?我认为扩展等同于

false;

不考虑条件的语句,例如:

AppLogExceptionIf(0 == (x = 5), "Big problem!");

不会分配给 x

最佳答案

不,条件 不会被评估。无论何时 AppLogExceptionIf 出现在括号中,并且在编译器有机会看到代码之前,它之后的至少一个参数将被替换为 ((void) 0)完全不做任何事情,就像您所说的那样。

关于c++ - 给定#define'ition ((void)0) 是否执行宏的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9270240/

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