你写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-21阅读全文 >>哥们,大概率不可能的,以我之见,现在好的人可能和自愈就没什么...
2025-06-21阅读全文 >>疯啦,干督导组! 督导组过来是讲规矩的,意思是有怀疑对象,是...
2025-06-21阅读全文 >>这个问题回答八百遍了: 如果你的 App 或者网站想收费,注...
2025-06-21阅读全文 >>前几年不知道为什么互联网大厂抽什么风,考虑用GO来代替部分任...
2025-06-21阅读全文 >>