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

       阅读(313)  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
文章数
283
总访问量
260247
今日访问
577
最近评论

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