STL 之插入迭代器

2021-08-27 17:25:17 字數 1216 閱讀 3235

目錄

int list[5] = ;

vectorvlist;

copy(list,list+5,vlist);

當使用上述方式進行賦值時,由於vlist沒有分配空間,而出錯。

解決方法使用遍歷陣列,並呼叫push_back方法將元素儲存到vlist中。

另外一種比較好的方式是通過插入迭代器完成。

三種插入迭代器:back_inserter, front_inserter,inserter

示例**:

#include #include #include #include #include #include #include #include using namespace std;

int main() ;

vectorvlist1;

vectorvlist2;

ostream_iteratorscreenout(cout, " ");

copy(lists,lists+8,back_inserter(vlist1));

cout << "vlist1:" << endl;

copy(vlist1.begin(),vlist1.end(),screenout);

cout << endl;

copy(vlist1.begin(),vlist1.end(),inserter(vlist2,vlist2.begin()));

cout << "vlist2:" << endl;

copy(vlist2.begin(),vlist2.end(),screenout);

cout << endl;

listlisttemp;

copy(vlist2.begin(),vlist2.end(),front_inserter(listtemp));

cout << "listtemp:" << endl;

copy(listtemp.begin(),listtemp.end(),screenout);

cout << endl;

return 0;

}

執行結果:

vlist1:

1 2 3 4 5 6 7 8

vlist2:

1 2 3 4 5 6 7 8

listtemp:

8 7 6 5 4 3 2 1

STL之迭代器

除了為每個容器定義的迭代器之外,標準庫在標頭檔案iterator中還定義了額外幾種迭代器,包括 1 插入迭代器 insert iterator 被繫結到乙個容器上,可用來向容器插入元素。2 流迭代器 stream iterator 被繫結到輸入輸出流,可用來遍歷所關聯的io流。3 反向迭代器 rev...

STL之迭代器

我們知道,迭代器常用來訪問容器中的元素。在使用迭代器的方式上來看,和指標非常的類似,甚至於就已經當作指標來使用了。事實上,迭代器的作用就是為了提供一種訪問資料的方式。容器 container 作為標準模板庫中的乙個核心內容,給我們提供了非常強大的資料結構的支援,以便於我們能夠更加方便 高效的實現我們...

STL之迭代器

1 每一種容器都有自己的迭代器 2 所有的迭代器介面都是一樣的 3 在整個標準庫中,經常使用形參為一對迭代器的建構函式 4 常用的迭代器操作 iter iter iter iter1 iter2,iter1 iter2 5 vector和deque容器的迭代器的額外操作 iter n,iter n,...