vector向量容器的刪除
阿新 • • 發佈:2019-01-04
erase()方法可以刪除vector中迭代器所指的一個元素或一段區間中所有元素。
clear()方法則一次性刪除vector中所有的元素。
#include<vector> #include<iostream> using namespace std; int main(int argc,char* argv[]) { vector<int> v(10); for(int i=0;i<10;i++) { v[i]=i; } v.erase (v.begin ()+2);//刪除第2個元素(迭代器中),從0計數。所以剩下013456789 vector<int>::iterator it; for(it=v.begin ();it!=v.end ();it++) { cout<<*it<<" "; } cout<<endl; v.erase (v.begin ()+1,v.begin ()+5);//刪除迭代器中第1到第5區間內所有元素,所以只剩06789了。 for(it=v.begin ();it!=v.end ();it++) { cout<<*it<<" "; } cout<<endl; v.clear ();//全部刪除了。 /*for(it=v.begin (); it!=v.end ();it++) { cout<<*it<<" "; }*/ cout<<v.size ()<<endl; return 0; }
執行結果:
有一點不理解,當我把最後那部分(註釋掉的)加上之後,即v.clear ()之後的輸出,想看看清空之後會輸出什麼,結果還是
,不理解為什麼。難道是清空後就不輸出嗎???