gpt4 book ai didi

C++ 预处理器指令限制

转载 作者:太空狗 更新时间:2023-10-29 21:07:30 25 4
gpt4 key购买 nike

我有一个像这样的 C++ 预处理器指令:

#if (SOME_NUMBER != 999999999999999)
// do stuff
#endif

999999999999999 显然大于 232,因此该值不适合 32 位整数。预处理器会正确使用 64 位整数来解析比较,还是会截断一个或两个值?

最佳答案

尽量使用LL后缀:

#if (SOME_NUMBER != 999999999999999LL)
// do stuff
#endif

在我的 gcc 中这个工作正常:

#include <iostream>

#define SOME_NUMBER 999999999999999LL

int main()
{

#if (SOME_NUMBER != 999999999999999LL)
std::cout << "yes\n";
#endif

return 0;
}

有或没有 LL 后缀。

关于C++ 预处理器指令限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4890079/

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