vector下标越界问题
代码如下:
vector<int> c; c.push_back(1); c.push_back(2); c.push_back(3); for(vector<int>::size_type i = c.size()-1 ; i >= 0; i--) cout << c[i] << endl;
for(int i = c.size()-1 ; i >= 0; i--)
[解决办法]
size_t是无符号的
[解决办法]
size_type i = 0;
由于i为无符号数,所以i一直大于等于零,所以for循环一直执行,导致越界。
[解决办法]
无符号
[解决办法]
我是新手,如果一定要这样写的话,我不会使用“>=”,而是使用“!=”
所以,在for循环里面我会写成:
i != 0-1
[解决办法]
size_t i;//无符号整数i >= 0; //永远为真
[解决办法]
顶楼上的。。
用reverse iterator 遍历吧。。 逆向迭代器
[解决办法]