我看到了

 #define NUM_MAX_VOLUME 0ui64

在其他人的代码中

0ui64 是多少?不过,它似乎不是十六进制数。

最佳答案

我很惊讶有很多答案,但没有人指出我认为应该注意的官方和权威文档,所以这里是 MSDN documentation :



所以,它确实不是一个十六进制数,而是一个基本上定义为零的宏,它代表一个无符号的 64 位整数。请注意 0Ui640ULL0ull 等,也是一样的。
当您想确保符号和大小是固定的以使其不会出现意外或未定义的行为时,这是必要的。
这既不是标准的 C++,也不是 C,而是微软的编译器特性。尽量避免它。
由于您的问题被标记为 Qt,因此建议改用 quint64Q_UINT64_C,这将跨平台工作。所以,你会写这样的东西:

#define NUM_MAX_VOLUME Q_UINT64_C(0)

关于c++ - 0ui64 是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27287644/

10-09 03:56