STL學習筆記之迭代器 utility

2021-07-02 20:07:21 字數 603 閱讀 9659

是乙個很小的標頭檔案。現在其中剩下來的只有模板類pairl、一些與之相關聯的模板函式和操作符,以及其他四個模板操作符了。該模板用來將兩個物件表示成乙個物件--當你想要乙個函式返回兩個值,或者想用乙個容器來儲存具有成對值的元素時,這樣做就比較方便。

/*utility

pair:對組,可以將兩個值(first,second)視為乙個單元(pair),是個模板類。

對於map/multimap,就是用pairs來管理value/key的成對元素。任何函式需要

回傳兩個值,也需要pair */

#include #include #include using namespace std;

void testpairs()

{

pairitem2;

pairitem3;

item2.first = "chairs";

item2.second = 998;//設定pair的first,second資料

item3 = make_pair("shirts",120.0);//make_pair是個模板函式,返回pair

cout<<"the price of "<

STL學習之迭代器

迭代器提供了順序訪問容器中每個元素的方法。迭代器可以使用 運算子獲得下乙個元素的迭代器,可以使用 運算子訪問當前迭代器所指向的元素。如果元素型別是結構體或類,還可以使用 運算子直接訪問該元素的乙個成員。以下是個人在學習迭代器時獲得得一些見解。輸入流迭代器用來從乙個輸入流中連續地輸入某種型別的資料,它...

STL學習筆記14 迭代器

所有的容器都定義了自己的迭代器型別,所以一般情況下,不需要再自己新增迭代器標頭檔案。但是如果要使用一些特殊的迭代器,如反向迭代器,或者一些迭代器輔助函式,那麼就需要新增標頭檔案。型別能力 提供者輸入迭代器 一次向前讀取 istream 輸出迭代器 向前寫入 ostream,inserter 前向迭代...

STL之迭代器

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