在一些C++文件中,我发现:
#ifndef UE_WITH_CHEAT_MANAGER
#define UE_WITH_CHEAT_MANAGER (1 && !UE_BUILD_SHIPPING)
#endif
从CheatManager.h.
有何不同之处:
#ifndef UE_WITH_CHEAT_MANAGER
#define UE_WITH_CHEAT_MANAGER (!UE_BUILD_SHIPPING)
#endif
这是为了防止某些特定编译器上的警告吗?
更多信息:
默认情况下,
UE_BUILD_SHIPPING
为0,并设置为1用于传送构建(分发给consumers/players).UE_WITH_CHEAT_MANAGER
的生成用于从编译中排除代码的某些部分。(编辑以在评论中回答请求。)
发布于 2021-11-11 22:38:24
没有人是完美的,即使是“虚幻引擎”的作者也是如此。
除去操作符重载的可能性,这两个表达式的类型和值是相同的。我怀疑(这只是一种预感),作者忘记了(!B)
的类型是bool
in C++。
(1 && !B)
更显着地可能是bool
类型,因为它包含&&
运算符。
https://stackoverflow.com/questions/69935602
复制相似问题