我很困惑size_t
。我在互联网上搜索过,到处都提到了这一点size_t
是无符号类型,因此它只能表示非负值。
我的第一个问题是:如果它只用来表示非负值,为什么我们不使用unsigned int
代替size_t
?
我的第二个问题是:是size_t
and unsigned int
可以互换还是不可互换?如果不是,那为什么?
谁能给我一个很好的例子size_t
并简要介绍其工作原理?
如果它用来表示非负值那么为什么我们不使用unsigned int
代替size_t
Because unsigned int
不是唯一的无符号整数类型。size_t
可以是以下任何一个unsigned char
, unsigned short
, unsigned int
, unsigned long
or unsigned long long
,取决于实施。
第二个问题是size_t
and unsigned int
是否可以互换,如果不能互换,为什么?
由于上述原因,它们不可互换^^
.
谁能给我一个关于 size_t 及其简短工作的好例子吗?
我不太明白你所说的“它的短暂工作”是什么意思。它的工作方式与任何其他无符号类型类似(特别是像它的类型定义的类型)。鼓励您使用size_t
当你描述一个物体的大小时。特别是,sizeof
运算符和各种标准库函数,例如strlen()
, 返回size_t
.
Bonus: 这是一篇好文章 about size_t
(以及密切相关的ptrdiff_t
类型)。它很好地解释了为什么你应该使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)