你写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-19阅读全文 >>在 《PostgreSQL正在吞噬世界中》 一文中,我曾经抛...
2025-06-19阅读全文 >>QQ历史包袱太多了,必竟是企鹅起家的产品,不能有闪失,所以不...
2025-06-19阅读全文 >>经济危机,休克疗法的实质都是对错配经济的出清,纠正。 而导...
2025-06-19阅读全文 >>与其说是麒麟芯片性能的原因,更多是因为鸿蒙NEXT、pura...
2025-06-19阅读全文 >>