400-123-4567

138000000000

程序员随意使用size_t是否属于***行为?

2025-06-19 07:30:10

你写uint32,然后str真有4个G以上长度的时候你就老实了。

写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。

如果一定要不一致,那你千万当心。

要不然不知道有多少屎要去踩。

就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。

这不是格局不格局的问题,str长度大于4…。

程序员随意使用size_t是否属于***行为?

上一篇 : 中国的防空系统能有效防止B2、B21这类飞翼隐身战略轰炸机入侵吗?

下一篇 : 我听说Windows12微软就直接重头构建Windows了,就直接重构Win内核了,到底是不是真的?