我已经看过这两者,(size_t)-1
并~0
曾经代表大数字,或者数字都被翻转过。
两者之间有什么区别吗?如果是这样,那是什么?
我发现了这个问题:-1和〜0之间有什么区别,但是它没有回答我的问题,因为我正在处理无符号整数(例如size_t
),而不是有符号整数(例如int
)。
(size_t)-1和〜0有什么区别?
类型和值不同。
(size_t)-1
与的值相同,SIZE_MAX
并且类型为size_t
。
~0
通常为-1,类型为int
。
将这两个都分配给size_t
会导致SIZE_MAX
。
size_t a = (size_t)-1;
size_t b = ~0;
在第二种情况下,-1
将其分配给ab
并首先进行转换,将-1环绕为最大值size_t
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句