C++好久没用了....虽然基本的语法和代码还是没问题,但是对于一些C++的细节和具体实现并不了解。具体编码中会遇到一些错误,本文记录一下我平时约到的问题,随时更新。
1. size()方法:
具体是在我的for循环中判断上限是size()-3.本想想java一样当size小于3的时候上限是负数,自然跳出循环即可。但是实际工程中发现这个值是一个极大值。查阅发现,size()的返回值当int时是一个无符号整形(unsigned_int),所以size()-1也是一个无符号数,不会是负数,而是溢出了的极大正数。所以这里一定要注意!!可以用(int)(size())先转为int即可。
本文探讨了C++中使用size()方法时容易忽视的一个细节问题。作者在使用size()方法进行循环边界判断时,遇到了意外的行为。由于size()返回的是无符号整型,减法操作不会产生负数,而是产生一个极大值。文章提供了规避这一问题的方法。
1402

被折叠的 条评论
为什么被折叠?



