你写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…。
丸辣,Rosetta2的AVX2支持才刚起步就要被抛弃辣。 ...
2025-06-22阅读全文 >>为了解答这个疑问,我找出来微软的软件产品清单,我发现我居然无...
2025-06-22阅读全文 >>就不想用rust吗?局面打开,j***a写一堆class太臃...
2025-06-22阅读全文 >>跟几个做前端的朋友聊天,发现现在大厂里的大前端团队都被拆了,...
2025-06-22阅读全文 >>第一天6千多人,到现在6/21下午了,现在是已经4.58万人...
2025-06-22阅读全文 >>