当前位置: 首页 > 知识库问答 >
问题:

C11有类似于quint8的东西吗?[副本]

涂羽
2023-03-14

Qt中有一些类型,例如在Qt支持的所有平台上保证为8位的quint8。

我想知道C11是否有这种类型?如果没有,有什么替代方案?

谢谢。

共有2个答案

聂煜
2023-03-14

是的,确实如此,甚至更多。从留档:

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且没有C11的平台。如果您打算支持这些,请坚持使用您的quint8,否则就放弃它,转而使用现代C。

确保您的qmake项目文件中包含此选项,以便实际启用C 11:

CONFIG += c++11
冯阳云
2023-03-14

是的,C 11添加了具有更精确定义大小的类型。这是参考资料。

它们在

我们保证您拥有这些:

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变体是最大的可用类型

 类似资料:
  • 我想知道探索者是否有一个唯一的id或什么的,因为我正在做一个实验,我意识到谷歌检测它是同一台电脑,即使我有很多机会。我已经试过了 null 我真的很感谢你们的帮助,谢谢你们

  • 问题内容: 我被迫将JUnit3用于特定的测试套件。我的理解和服务的功能和,但有一个模拟和对事情应该发生一次测试开始之前,一旦所有的测试运行后? 问题答案: 好的,我应该搜索得更好。 Junit 3中的班级拆解?

  • Mac OS X和iOS有一个名为的不错的小类。它是一个单例,可让您存储字符串、数组和原语,并且您始终可以实现一些方法来向其添加自定义对象。当您需要存储快速设置而无需处理文件操作(例如,存储最后选择的字体名称)时,它非常有用。 Java有类似这样简单的东西吗?我希望能够存储用户的最后设置,以便在程序重新加载时重新加载类似的状态,但我不确定在Java中最好的方法是什么。

  • 我想用超文本标记语言检查某个文本,比如“无值”,如果存在,就给它赋值0。有人知道怎么做吗?(谷歌了很多,但没有找到任何相关的东西)

  • 问题内容: C#属性(我的意思是get和set方法)是一个非常有用的功能。Java是否也具有类似于C#属性的内容。我的意思是我们如何在Java中实现类似以下C#代码的内容: 问题答案: 不,Java没有等效性。它只有访问器和更改器方法,以及getter和setter方法的奇特名称。例如:

  • 问题内容: 我想检查一个对象是否是类的实例或的子类。 例如,如果is是类,我想成为并且也要成为。 我希望它也适用于装箱的原始类型。例如,如果是那么应该是。 有这样的事吗?如果没有,如何实现这种方法? 问题答案: Class.isInstance可以满足您的需求。 当然,如果可以使用它,则不应该使用它,但是对于反射场景,它通常派上用场。