Vectro 用size的办法反向遍历的时候,为什么要-1

#include <iostream>
#include <vector>
using namespace std;

int main(){

vector<int> array;
array.push_back(1);
array.push_back(2);
array.push_back(3);
array.push_back(4);
array.push_back(5);

size_t array_size=array.size();

for(int i=array.size()-1;i>=0;i--)
{
cout<<array[i]<<endl;
}

system("pause");

return 0;

}

因为你是用i作为索引,见“array[i]”,所以要按照数组那样索引从0开始,如果i = array.size(), array[i]的话就出现越界了。而且,由于for循环里面判断i是否大于等于零,所以,i = array.size()-1后,即使array为空,也不会进入for循环。追问

i = array.size(),
的实际数字是多少

追答

array.size()返回的是array的count数量多少。像你的例子里面push_back了5次,那么size()就是5.

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网