c++11有类似quint8的东西吗?
Does c++11 have something like quint8?
Qt中有一些类型,例如quint8,在Qt支持的所有平台上都保证是8位的。
我想知道c++ 11是否有这种类型?如果不是,有什么替代方案?
谢谢。
是的,c++ 11增加了具有更精确定义大小的类型。这是参考
它们在<cstdint>
中定义。
你保证有这些:
intmax_t uintmax_t
int_least8_t uint_least8_t
int_least16_t uint_least16_t
int_least32_t uint_least32_t
int_least64_t uint_least64_t
int_fast8_t uint_fast8_t
int_fast16_t uint_fast16_t
int_fast32_t uint_fast32_t
int_fast64_t uint_fast64_t
你可能有也可能没有这些:
int8_t uint8_t
int16_t uint16_t
int32_t uint32_t
int64_t uint64_t
intptr_t uintptr_t
解释:
-
u
前缀表示无符号。 -
least
变体是最小的整数类型,至少具有该宽度。 -
fast
变体是至少具有该宽度的最快整数类型。 -
intptr
变体保证可以转换为void*
并返回。 -
max
变体是最大的可用类型。
是的,甚至更多。来自文档:
uint8_t unsigned integer type with width of 8
uint_fast8_t fastest unsigned integer type with width of 8
uint_least8_t smallest unsigned integer type with width of at least 8
免责声明:这显然不能在支持Qt且没有c++ 11的平台上工作。如果你打算支持这些,坚持使用你的quint8
,否则就放弃它,转而使用现代c++。
确保在你的qmake项目文件中有这个,以实际启用c++ 11:
CONFIG += c++11
相关文章:
- MSVC是否支持C++11样式的属性而不是__declspec
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 继承:构造函数,初始化C++11中基类的类C数组成员
- 如何将模板转换为C++11之前的模板
- c++11评估顺序(未定义的行为)
- C++中的VLA,扩展名为std=C++11
- 代码在我的计算机上运行良好,但是在将其提交给coursera时遇到未知的信号11问题
- "类模板示例<int>;"语句对 C++11 是什么意思?
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 如何使用lock_guard在c++11中实现scoped_lock功能
- C++11 中不同类型的对象的 std::array 的替代方案
- 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?
- 为什么我的C++代码中出现'Segmentation Fault: 11'行?
- 强枚举类型定义:Clang Bug 还是 C++11 标准不确定性?
- 别名模板的专业化 C++11 中没有开销的最佳替代方案
- STLPort using C++11
- Qt 5.11.2 (Clang 8.0 (Apple), 64 位), 找不到 QJSEngine 文件
- 在 C++11 中,如何查找并返回以给定字符串开头的字符串向量中的所有项?
- c++11有类似quint8的东西吗?