c++ - Qt支持的各个平台上int保证是32位的,还是只有qint32?

标签 c++ qt types size int

我记得在某处读到 Qt 保证在支持的平台上某些数据类型的大小。是不是 int 到处都是 至少 32 位,qint32 到处都是正好 32 位?还是别的?

C++ 保证 int 至少为 16 位,一些 Qt 结构如 QRectQPoint 使用 int内部。我正在开发一个应用程序,其中这些类型需要 32 位,我不想复制它们的功能,所以我可以使用更大的类型。

最佳答案

整数类型的大小由编译器决定。我不认为可以保证普通 int 的大小是精确的。但是您可以通过将此行添加到 main() 的开头来确保您知道这不是您想要的:

if(sizeof(int) != 4) {
  throw std::runtime_error("int is not 32-bit");
}

关于c++ - Qt支持的各个平台上int保证是32位的,还是只有qint32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3087274/

相关文章:

PostgreSQL:将非常大的十六进制字符串转换为 NUMERIC

c++ - std::function 作为自定义流操纵器

c++ - 对 C++ 类构造函数的 undefined reference

c++ - Qt 5.2.0 生成单个 .o 文件

c++ - “SHGFP_TYPE_CURRENT”未在此范围内声明

c++ - 如何创建一个 vector 来保存同一模板类的所有类型的元素

c# - 除了 System.Type 之外没有任何更多信息的 Cast 对象

c++ - 没有匹配的函数来调用 [class]

C++:如何在非零大小的 map 中初始化 vector

c++ - GNU make - 在不修改的情况下加速非并行 makefile