Skip to content

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

Published: at 02:38 PM | 1 min read

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