我记得在某处读到 Qt 保证在支持的平台上某些数据类型的大小。是不是 int
到处都是 至少 32 位,qint32
到处都是正好 32 位?还是别的?
C++ 保证 int
至少为 16 位,一些 Qt 结构如 QRect
和 QPoint
使用 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/