你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
你写uint32,然后str真有4个G以上长度的时候你就老实了。
写c/c++最最基本的一件事:比较两个数的时候,请务必尽可能保证这两个数类型一致。
如果一定要不一致,那你千万当心。
要不然不知道有多少屎要去踩。
就你这个例子,strlen返回值就是size_t,64位系统里他就是有可能返回大于4G的值,那么如果你用uint,比较32和64的时候隐式转换为64,32转64的数字永远不可能大于4G,喜提无限循环。
这不是格局不格局的问题,str长度大于4…。
吊打不吊打没关系,可怕的是 这么强大的性能你无论到哪都能拥有...
2025-06-22阅读全文 >>B站犯了一个相当大的错误。 他们用短***的逻辑来运营长*...
2025-06-22阅读全文 >>和老公不戴套一年多,一开始小袜子小衣服都买了好几套,各种颜色...
2025-06-22阅读全文 >>不是。 最大的问题是Linux下有点麻烦——致命的麻烦。 ...
2025-06-22阅读全文 >>拍个照给你们看,这是我公司隔壁的拳馆。 里面有个泰拳女...
2025-06-22阅读全文 >>