你写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…。
性能在web开发里没有那么重要 以前入职过一家公司,公司里大...
2025-06-20阅读全文 >>在技术面试中,遇到过这样一个有意思的场景,且听我娓娓道来。 ...
2025-06-20阅读全文 >>因为要保持大量的失业人口,才能凸现出来他们的伟大呗! 就比如...
2025-06-20阅读全文 >>三吉彩花! 有说她像桂纶镁的,在这支MV中,她是像的,五官位...
2025-06-20阅读全文 >>今天早上,大家都在为伊朗的惊喜而困惑的时候,幽默朗子在X上发...
2025-06-20阅读全文 >>