map對(duì)象
map<K,T>類模板定義在map文件頭中,它定義了一個(gè)保存T 類型對(duì)象的 map,每個(gè) T類型的對(duì)象都有一個(gè)關(guān)聯(lián)的K類型的鍵。容器內(nèi)對(duì)象的位置是通過(guò)比較鍵決定的??梢杂眠m當(dāng)?shù)逆I值從map容器中檢索對(duì)象。
- 創(chuàng)建
map
std::map<std::string, size_t> people;
std::map<std::string, size_t> people{{"Ann", 25}, {"Bill", 46},{"Jack", 32},{"Jill", 32}};
-
utility頭文件中定義了make_pair < T1,T2 >()函數(shù)模板,它提供了一種組合T1和T2類型對(duì)象的簡(jiǎn)單方法。因此,可以按如下方式創(chuàng)建pair對(duì)象來(lái)初始化map:
std::map<std::string,size_t> people{std::make_pair("Ann",25),std::make_pair("Bill", 46),std::make_pair("Jack", 32),std::make_pair("Jill", 32)};
- 復(fù)制現(xiàn)有的容器:
std::map<std::string, size_t> personnel {people}; // Duplicate people map
- 用另一個(gè)容器的一段元素來(lái)創(chuàng)建一個(gè)
map:
std::map<std::string, size_t> personnel {std::begin(people),std::end(people)};
std::map<std::string,size_t> personnel {++std::begin(people),std::end(people)};
-
map插入數(shù)據(jù)
map<K,T>容器的成員函數(shù)insert()有多個(gè)版本,它們可以在map中插入一個(gè)或多個(gè)pair<const K,T>對(duì)象。只能插入map中不存在的元素。
std::map<std:: string,size_t> people {std::make_pair ("Ann",25),std::make_pair("Bill",46) , std::make_pair ("Jack",32), std::make_pair("Jill",32)};
auto pr = std::make_pair("Fred",22); //Create a pair element and insert it
auto ret_pr = people.insert(pr);