你写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…。
我们公司前端技术栈涵盖了 React、Vue 和 Angul...
2025-06-28阅读全文 >>现在最快、最省钱的方案是这样的: 前端咱就用Next.js,...
2025-06-28阅读全文 >>理论上没有差别,但现实中有巨大的差别。 因为110会记录你曾...
2025-06-28阅读全文 >>我在美国坐了一趟火车,才明白为什么他们不建高铁 去年在洛杉矶...
2025-06-28阅读全文 >>谈不上敢不敢,纯粹就是没法再穿了。 我大一刚入学那会,那是...
2025-06-28阅读全文 >>