
Some of the aspects of C++’s fundamental types,such as the size of an
int,are implementation defined (§6.1).
稍后,在第150页中,我们有以下示例:
int_least16_t y; // at least 2 bytes (just like int)int_least32_t yy // at least 4 bytes (just like long)
我对这两个注释的解释是int(或long)的大小是实现定义的,但它们的最小大小总是分别等于2和4个字节.也就是说,对于任何实现,sizeof(int)> = 2并且sizeof(long)> = 4.
首先,这是正确的吗?如果是这样,标准中的内容在哪里?
解决方法 不,并非总是如此. char可能是64位类型,其中casesizeof(int)和sizeof(long)都可以是1.但是,你保证的是sizeof(int)* CHAR_BIT> = 16和sizeof(long)* CHAR_BIT> = 32,因为int和long分别需要至少16位和32位.
总结以上是内存溢出为你收集整理的c – sizeof(int)> = 2和sizeof(long)> = 4:对于任何实现,这总是如此吗?全部内容,希望文章能够帮你解决c – sizeof(int)> = 2和sizeof(long)> = 4:对于任何实现,这总是如此吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)