c++ - 检查非可移植整数类型是否存在的可移植方法

标签 c++

当出现在 c++98 或更高版本的实现中(我知道 C++11 已经提供了 64 位 int)时,我想通过 int64_t 为我的 int 获利。 是否有一种可移植和通用的方法来检查 int64_t 的存在,或者 - 甚至更好 - 任何可用的 64 位或更高整数类型,如:

#ifdef has_int64_t
typedef int64_t myint
#else
typedef int myint
#endif

//...code
myint a;

如果可能,检查应该适用于 c++98、c++03 和 c++11。

最佳答案

很确定这应该可以使用 stdint.h:

#ifdef INT64_C
//...
#else
//...
#endif

关于c++ - 检查非可移植整数类型是否存在的可移植方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422919/

相关文章:

c++ - CMake 生成的 Xcode 项目无法编译

c++ - 重复和空格

c++ - 将用户输入限制为某些字符

c++ - if-else vs 三元函数调用性能

c++ 函数内嵌在编译时决定

c++ - 如何在 C++ 和 Windows XP 中更改子网掩码和 DHCP 启用标志

android - 在 Ubuntu 上安装用于 android 开发的 Qt

c++ - FreeImage 报告图像颜色类型错误

c++ - 从 TS 到 C++ 的 FlatBuffers 不起作用

c++ - 错误 : C2059: syntax error : '{'