reverse(逆向)迭代器
reverse迭代器是一種配接器。 重新定義遞增運算和遞減運算。使其行為正好倒置。
如果你使用這類迭代器,演算法將以逆向次序處理元素。所有標準容器都允許使用reverse迭代器來遍歷元素。下面是個例子:
1 #include 2 #include 3 #include 4view codeusing
namespace
std;56
void print(int
elem)710
11int
main()
12
insert(安插型)迭代器
通過這種迭代器,演算法可以執行安插行為而非覆蓋行為。它提供以下操作
c++標準程式庫提供三種insert迭代器:back inserters、front inserters、general inserters。它們之間的區別在於插入位置。
事實上它們各自呼叫所屬容器中不同的成員函式。
顯然,容器本身必須支援insert迭代器所呼叫的函式,否則該種insert迭代器就不可用。
下面展示了back inserters的用法
1 #include 2 #include 3 #include 4 #include "view codeprint.cpp"5
using
namespace
std;67
intmain()
8
stream(流)迭代器
我們可以通過stream迭代器把stream當成演算法的原點和起點。
乙個istream迭代器可用來從input stream中讀取元素,而乙個ostream迭代器可以用來對output stream寫入元素。
1.ostream迭代器
ostream迭代器可以將被賦予的值寫入output stream中。如此一來演算法就可以使用一般的迭代器介面直接對stream執行塗寫動作。下面列出ostream迭代器的各個操作函式。
下面演示ostream迭代器的用法
1 #include 2 #include 3 #include 4 #include 5view codeusing
namespace
std;67
intmain()
8
2.istream迭代器
istream迭代器用來從input stream讀取元素。透過istream迭代器,演算法可以從stream中直接讀取資料。
下面是istream迭代器的各項操作函式
下面展示istream迭代器的各項操作
1 #include 2 #include 3view codeusing
namespace
std;45
intmain()
615 }
STL之配接器
adapter 將乙個class的介面轉換為另乙個class的介面。應用於仿函式,functor adapters,價值在於通過它們直接的繫結,組合,修飾能力,幾乎可以無限制地創造出各種可能的表示式。配接操作包括繫結 bind 否定 negate 組合 compose 以及對一般函式或成員函式的修飾...
STL 容器配接器
以底部容器完成所有工作,而具有這種修改某物介面而成為另一種風貌的性質者稱為配接器,因此stl stack queue priority queue都稱為容器配接器。stack是一種先進後出的資料結構,不允許有遍歷行為。stl是以deque作為預設情況下的stack底部結構。deque為底部結構並封閉...
STL學習筆記14 迭代器
所有的容器都定義了自己的迭代器型別,所以一般情況下,不需要再自己新增迭代器標頭檔案。但是如果要使用一些特殊的迭代器,如反向迭代器,或者一些迭代器輔助函式,那麼就需要新增標頭檔案。型別能力 提供者輸入迭代器 一次向前讀取 istream 輸出迭代器 向前寫入 ostream,inserter 前向迭代...