繁体   English   中英

64位整数和较旧的C ++编译器

[英]64 bit integers and older C++ compilers

我想在我的C ++代码中使用64位整数。 我知道我可以#include <cstdint>然后声明一个uint64_t或使用unsigned long long (或等效的签名版本)。

但是,在C++11之前似乎没有添加对此的支持,我希望我的代码与没有完全C ++ 11支持的编译器兼容。

在C ++中支持64位整数的可移植方式是什么?

uint64_t是:

可选 :如果不存在具有此类特征的类型,则不定义这些typedef。

你可以阅读参考文献


我应该使用long long或int64_t用于可移植代码吗?

long longunsigned long long类型是标准C和标准C ++类型,每个类型至少有64位。 我所知道的所有编译器都提供了这些类型,除非可能处于-pedantic模式,但在这种情况下, int64_tuint64_t也不适用于C ++之前的2011编译器。


g ++ / clang支持long long / int64_t日期是什么时候?

GCC 4.3 (又名2008年3月5日 )。

正如DavidÁlvarez所说。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM