
在一次编程中,通过for循环递减遍历vector,忽略了vector.size()函数的返回值类型,导致了如下的越界错误。
std::vector mi{1,2,2};
auto s = mi.size();
// vector 的size()函数返回的是unsigne Long型
for(auto i = s -1; i >= 0;i--){
std::cout << i << std::endl;
}
2
1
0
18446744073709551615
18446744073709551614
18446744073709551613
18446744073709551612
...
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)