long原始数据类型是否有 C++ 变体?
C++long只有 4 个字节,而 Javalong是 8 个字节。
那么:在 C++ 中是否存在大小为 8 字节的非十进制原始类型?
也许有一些技巧?
谢谢
long原始数据类型是否有 C++ 变体?
C++long只有 4 个字节,而 Javalong是 8 个字节。
那么:在 C++ 中是否存在大小为 8 字节的非十进制原始类型?
也许有一些技巧?
谢谢
Microsoft Visual C++ 定义了__int64一种与 Java 的long. gcc 有int64_t. ISO C99 标准中甚至long long int定义了一种类型,但根据标准,它至少为64 位宽,但可能更宽。
但除了大小之外,还需要考虑字节序。Java 标准要求大端,但对于 C,字节序是 AFAIK 始终依赖于平台的。
C++ 有一个long long类型,长度为 64 位(在大多数平台上)。
从 C++11 开始,标头中有固定宽度的整数类型<cstdint>。在您的场景中,您可能希望使用std::int64_tor std::uint64_t。
因为它是 C++11 语言规范的一部分,所以应该保证平台和编译器的兼容性。