<QtTypes> - Qt 类型声明
<QtTypes> 头文件包含了 Qt 的基本类型声明。 更多...
头文件 | #include <QtTypes> |
类型
qint8 | |
qint16 | |
qint32 | |
qint64 | |
(自 6.6) | qint128 |
qintptr | |
qlonglong | |
qptrdiff | |
qreal | |
qsizetype | |
quint8 | |
quint16 | |
quint32 | |
quint64 | |
(自 6.6) | quint128 |
quintptr | |
qulonglong | |
uchar | |
uint | |
ulong | |
ushort |
宏
(自 6.2) | |
(自 6.2) | |
(自 6.2) | |
(自 6.2) | |
(自 6.2) | PRIXQUINTPTR |
(自 6.2) | PRIdQINTPTR |
(自 6.2) | PRIdQPTRDIFF |
(自 6.2) | PRIdQSIZETYPE |
(自 6.2) | PRIiQINTPTR |
(自 6.2) | PRIiQPTRDIFF |
(自 6.2) | PRIiQSIZETYPE |
(自 6.2) | PRIoQUINTPTR |
(自 6.2) | PRIuQUINTPTR |
(自 6.2) | PRIxQUINTPTR |
(自 6.6) | QT_SUPPORTS_INT128 |
(自 6.6) qint128 | Q_INT128_C(文本) |
(自 6.6) | Q_INT128_MAX |
(自 6.6) | Q_INT128_MIN |
qint64 | Q_INT64_C(文本) |
(自 6.6) quint128 | Q_UINT128_C(文本) |
(自 6.6) | Q_UINT128_MAX |
quint64 | Q_UINT64_C(文本) |
详细描述
头文件声明了几个类型定义,这些类型定义在各种平台上的 Qt 应用的各种基本类型上保证具有特定的位数,例如 qint8,这是一个保证在所有 Qt 支持的平台上为 8 位的有符号 char。该头文件还声明了 qlonglong 类型定义,用于 long long int
。
还声明了几个便利的类型定义:用于 double
或 float
的 qreal,用于 unsigned char
的 uchar,用于 unsigned int
的 uint,用于 unsigned long
的 ulong,以及用于 unsigned short
的 ushort。
该头文件还提供了一系列宏,通过格式化输出功能(如 printf() 或 qDebug())打印一些 Qt 类型别名(qsizetype、qintptr 等),而不会引发格式化警告,且不需要类型转换。
类型文档
qint8
对 signed char
的类型定义。该类型保证在所有 Qt 支持的平台上为 8 位。
qint16
对 signed short
的类型定义。该类型保证在所有 Qt 支持的平台上为 16 位。
qint32
表示有符号整型的别名。此类在整个支持Qt的平台上是32位的。
qint64
表示长整型的别名。此类在整个支持Qt的平台上是64位的。
可以使用Q_INT64_C() 宏创建此类字面量。
qint64 value = Q_INT64_C(932838457459459);
另请参阅Q_INT64_C(),quint64 和 qlonglong。
[since 6.6]
qint128
表示支持的平台上的 __int128 的别名(如果支持,Qt 会定义 QT_SUPPORTS_INT128 宏)。
可以使用Q_INT128_C() 宏创建此类字面量。
此别名自 Qt 6.6 版本开始引入。
另请参阅Q_INT128_C(),Q_INT128_MIN,Q_INT128_MAX,quint128 和 QT_SUPPORTS_INT128。
qintptr
用于表示指针的有符号整数类型(对于散列等很有用)。
是qint32或qint64的别名。此类保证在其支持的平台上和指针大小相同。在32位指针的系统上,qintptr是qint32的别名;在64位指针的系统上,qintptr是qint64的别名。
请注意,qintptr是有符号的。使用quintptr来表示无符号值。
为了使用格式化输出功能(如printf(),qDebug(),QString::asprintf()等)打印此类型的值,可以使用宏 PRIdQINTPTR 和 PRIiQINTPTR 作为格式说明符。它们都会以十进制数的形式打印值。
qintptr p = 123; printf("The pointer is %" PRIdQINTPTR "\n", p);
qlonglong
表示 long long int 的别名(Windows上的 __int64)。它与qint64 相同。
另请参阅qulonglong 和 qint64。
qptrdiff
表示指针差的整数类型。
是qint32或qint64的别名。此类保证在其支持的平台上和指针大小相同。在32位指针的系统上,quintptr是quint32的别名;在64位指针的系统上,quintptr是quint64的别名。
请注意,qptrdiff是有符号的。使用quintptr来表示无符号值。
为了使用格式化输出功能(如printf(),qDebug(),QString::asprintf()等)打印此类型的值,可以使用宏 PRIdQPTRDIFF 和 PRIiQPTRDIFF 作为格式说明符。它们都会以十进制数的形式打印值。
qptrdiff d = 123; printf("The difference is %" PRIdQPTRDIFF "\n", d);
另请参阅 quintptr、qint32 和 qint64。
qreal
除非 Qt 配置了 -qreal float
选项,否则这是为 double
定义的类型。
[别名]
qsizetype
这是一个提供 Posix 的 ssize_t
的整数类型,适用于所有平台。
此类型保证在 Qt 支持的所有平台上与其支持的大小相同的 size_t。
注意,qsizetype 是有符号的。对于无符号值,请使用 size_t
。
要使用诸如 printf()
、qDebug()、QString::asprintf() 等格式化输出功能打印此类型值,您可以使用 PRIdQSIZETYPE
和 PRIiQSIZETYPE
宏作为格式指定符。它们都将值作为十进制数打印。
qsizetype s = 123; printf("The size is %" PRIdQSIZETYPE "\n", s);
另请参阅 qptrdiff。
quint8
这是为 unsigned char
定义的类型。此类型保证在 Qt 支持的所有平台上都是 8 位的。
quint16
这是为 unsigned short
定义的类型。此类型保证在 Qt 支持的所有平台上都是 16 位的。
quint32
这是为 unsigned int
定义的类型。此类型保证在 Qt 支持的所有平台上都是 32 位的。
quint64
这是为 unsigned long long int
定义的类型。此类型保证在 Qt 支持的所有平台上都是 64 位的。
可以使用 Q_UINT64_C() 宏创建此类型的字面量。
quint64 value = Q_UINT64_C(932838457459459);
另请参阅 Q_UINT64_C、qint64 和 qulonglong。
[自 6.6 版起]
quint128
当平台支持时,此类型为 unsigned __int128(如果 Qt 定义了宏 QT_SUPPORTS_INT128,则为这种情况)。
可以使用 Q_UINT128_C() 宏创建此类型的字面量。
此别名自 Qt 6.6 版本开始引入。
另请参阅 Q_UINT128_C、Q_UINT128_MAX、qint128 和 QT_SUPPORTS_INT128。
quintptr
这是一个用于在无符号整数中表示指针的整数类型(对于哈希等很有用)。
此类型为 quint32 或 quint64 的typedef。此类型保证在 Qt 支持的所有平台上与其支持的大小相同的指针。在 32 位指针的系统上,quintptr 是 quint32 的 typedef;在 64 位指针的系统上,quintptr 是 quint64 的 typedef。
请注意,quintptr 是无符号的。对于有符号值,请使用 qptrdiff。
要使用诸如 printf()
、qDebug()、QString::asprintf() 等格式化输出功能打印此类型值,您可以使用以下宏作为格式指定符:
PRIuQUINTPTR
:将值作为十进制数打印。PRIoQUINTPTR
:将值作为八进制数打印。PRIxQUINTPTR
:将值作为十六进制数打印,使用小写字母a-f
。PRIXQUINTPTR
:将值作为十六进制数打印,使用大写字母A-F
。
quintptr p = 123u; printf("The pointer value is 0x%" PRIXQUINTPTR "\n", p);
另请参阅 qptrdiff、quint32 和 quint64。
qulonglong
为 unsigned long long int
(Windows 上的 unsigned __int64
)提供的别名。这与 quint64 相同。
uchar
针对 unsigned char
的便利别名。
uint
针对 unsigned int
的便利别名。
ulong
针对 unsigned long
的便利别名。
ushort
针对 unsigned short
的便利别名。
宏文档
请参阅 qintptr。
此函数是在 Qt 6.2 中引入的。
请参阅 quintptr。
此函数是在 Qt 6.2 中引入的。
请参阅 qptrdiff。
此函数是在 Qt 6.2 中引入的。
请参阅 qsizetype。
此函数是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIXQUINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIdQINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIdQPTRDIFF
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIdQSIZETYPE
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIiQINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIiQPTRDIFF
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIiQSIZETYPE
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIoQUINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIuQUINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.2 以来]
PRIxQUINTPTR
此宏是在 Qt 6.2 中引入的。
[自 6.6 以来]
QT_SUPPORTS_INT128
当平台支持 128 位整数类型时,Qt 定义了此宏以及 qint128 和 quint128 类型。
此宏是在 Qt 6.6 中引入的。
另请参阅 qint128、quint128、Q_INT128_C()、Q_UINT128_C()、Q_INT128_MIN、Q_INT128_MAX 和 Q_UINT128_MAX。
[自 6.6 以来]
qint128 Q_INT128_C(字面量)
以平台无关的方式包装 128 位有符号整数字面量。
注意:与 Q_INT64_C 不同,此宏仅在 C++ 中可用,不在 C 中可用。这是因为编译器不提供这些字面量作为内置项,且 C 不支持用户定义的字面量。
此宏是在 Qt 6.6 中引入的。
另请参阅 qint128,Q_UINT128_C(),Q_INT128_MIN,Q_INT128_MAX,Q_INT64_C() 和 QT_SUPPORTS_INT128。
[自 6.6 版起]
Q_INT128_MAX
此宏展开为一个表示可以使用 qint128 表示的最大值的编译时常量。
此宏在 C++ 和 C 模式下都可用。
此宏是在 Qt 6.6 中引入的。
另请参阅 Q_INT128_MIN,Q_UINT128_MAX,qint128,Q_INT128_C 和 QT_SUPPORTS_INT128。
[自 6.6 版起]
Q_INT128_MIN
此宏展开为一个表示可以使用 qint128 表示的最小值的编译时常量。
此宏在 C++ 和 C 模式下都可用。
此宏是在 Qt 6.6 中引入的。
另请参阅 Q_INT128_MAX,qint128,Q_INT128_C 和 QT_SUPPORTS_INT128。
qint64 Q_INT64_C(字面量)
以平台无关的方式封装有符号 64 位整数 字面量。
示例
qint64 value = Q_INT64_C(932838457459459);
另请参阅 qint64,Q_UINT64_C() 和 Q_INT128_C。
[自 6.6 版起]
quint128 Q_UINT128_C(字面量)
以平台无关的方式封装无符号 128 位整数 字面量。
注意:与 Q_UINT64_C 不同,此宏仅在 C++ 中可用,不在 C 中可用。这是因为编译器不提供这些字面量作为内置项,且 C 不具有对用户定义字面量的支持。
此宏是在 Qt 6.6 中引入的。
另请参阅 quint128,Q_INT128_C,Q_UINT128_MAX,Q_UINT64_C 和 QT_SUPPORTS_INT128。
[自 6.6 版起]
Q_UINT128_MAX
此宏展开为一个表示可以使用 quint128 表示的最大值的编译时常量。
此宏在 C++ 和 C 模式下都可用。
quint128 的最小值为 0(零),因此不需要也不提供 Q_UINT128_MIN
。
此宏是在 Qt 6.6 中引入的。
另请参阅 Q_INT128_MAX,quint128,Q_UINT128_C 和 QT_SUPPORTS_INT128。
quint64 Q_UINT64_C(字面量)
以平台无关的方式封装无符号 64 位整数 字面量。
示例
quint64 value = Q_UINT64_C(932838457459459);
另请参阅 quint64,Q_INT64_C 和 Q_UINT128_C。
© 2024 The Qt Company Ltd. 本文件中的文档贡献均为各自拥有者的版权。本文件提供的文档是根据免费软件基金会发布的、自由软件基金会出版的GNU自由文档许可协议版本1.3条款下授权。Qt 及其相应的标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为各自拥有者的财产。