c – “中使用的命名约定

c – “中使用的命名约定,第1张

概述< cstdint> (< stdint.h>)标头定义了几种整数类型,它们的名称遵循以下模式:intN_t,其中N是位数,而不是字节数. 鉴于字节未严格定义为8位长度,为什么这些类型不能定义为例如int1_t而不是int8_t?这不是更合适,因为它考虑了具有不寻常长度字节的机器吗? 在没有这些尺寸的机器上,未定义类型.也就是说,如果您的机器没有8位字节,则int8_t将不可用.但是,您仍然可以使 < cstdint> (< stdint.h>)标头定义了几种整数类型,它们的名称遵循以下模式:intN_t,其中N是位数,而不是字节数.

鉴于字节未严格定义为8位长度,为什么这些类型不能定义为例如int1_t而不是int8_t?这不是更合适,因为它考虑了具有不寻常长度字节的机器吗?

解决方法 在没有这些尺寸的机器上,未定义类型.也就是说,如果您的机器没有8位字节,则int8_t将不可用.但是,您仍然可以使用最少的版本,例如int_least16_t.

人们怀疑的原因是,如果你想要一个精确的大小,你通常需要一个比特大小,而不是一个抽象的字节大小.例如,所有互联网协议都处理8位字节,因此您需要具有8位,无论是否为本机字节大小.

This answer在这方面也非常有用.

总结

以上是内存溢出为你收集整理的c – “中使用的命名约定全部内容,希望文章能够帮你解决c – “中使用的命名约定所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1237723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存