删除文章

确定要删除这篇文章吗?

取消
确定

bug修复,for循环倒叙遍历的时候千万不要用size_t等无符号整型

     阅读(473)  2018-05-10 22:38:41

bug修复,for循环倒叙遍历的时候千万不要用size_t

如下代码:

    std::vector<int> x = { 1, 2, 3, 4, 5 };
    for (size_t i = x.size() - 1; i >= 0; i--) {
        std::cout << x[i] << std::endl;
    }

由于size_t是unsigned int无符号整型,所以当i为0时候再继续i--就会变成一个UINT_MAX(头文件climits),此时i为4294967295。x[i]必然会越界造成程序崩溃。

结论:在for循环中逆序遍历的时候要用int不要用size_t

文章评论

Keep it simple,stupid
文章数
300
总访问量
442965
今日访问
854
最近评论

xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
tujiaw : 还不错哦
回到顶部