Vector Iterator

在csdn看見一個帖子說:

 

int main()
{

int a[]={1,5,4,7,8};
vector <int> x(a,a+5);
int x22=0;
for(vector <int>::iterator y=x.end()-1;y>=x.begin();y--)
cout<<*y<<" ";
system("pause");
return 0;
}
 //此程序運行後會出錯. 

編譯通過,運行有問題

測試了一下,原來問題在y--

當y=x.begin();時候,y仍需要--然後再一次判斷是否滿足條件,顯然此時y已經沒有意義了

附上正確代碼:

int main()
{
    int a[]={1,5,4,7,8};
    vector <int> x(a,a+5);

    vector <int>::iterator y=x.end();

    while(y!=x.begin())
    {
         cout << *(--y)<< endl;
    }
    system("pause");
    return 0;
}

發佈了53 篇原創文章 · 獲贊 4 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章