自用经验丨使用 i < vector.size(),避免 i <= vector.size()-1
建议使用
for(i = 0, i<vectorName.size(), i++)
而非
for(i = 0, i <= vectorName.size()-1, i++)
后者在遇到size() = 0时,仍会进入循环体,可能造成溢出。
其原因在于,此处的 size() 是一个无符号整形变量(unsigned int)。在与其他数做运算时,它会把其他数字强制转换为无符号整形。
因此,-1 被转换成 unsigned int(-1),即4294967295,在比较大小时自然失败。
参考:添加
原创
2021-10-18 12:04:51 ·
180 阅读 ·
0 评论