c++中map容器的使用詳解
C++中map容器提供一個(gè)鍵值對容器,map與multimap差別僅僅在于multiple允許一個(gè)鍵對應(yīng)多個(gè)值。
一、map的說明
1頭文件
#include <map>
2定義
map<string,int>my_Map;
或者是
typedefmap<string,int>MY_MAP; MY_MAPmy_Map;
3插入數(shù)據(jù)
my_Map["a"]???=???1;? ?
my_Map.insert(map<string,???int>::value_type("b",2));?
my_Map.insert(pair<string,int>("c",3));?
my_Map.insert(make_pair<string,int>("d",4));?第一種:用insert函數(shù)插入pair數(shù)據(jù),下面舉例說明:

第二種:用insert函數(shù)插入value_type數(shù)據(jù),下面舉例說明:

第三種:用數(shù)組方式插入數(shù)據(jù),下面舉例說明:

4查找數(shù)據(jù)和修改數(shù)據(jù)
int i = my_Map["a"];
my_Map["a"] = i;
MY_MAP::iterator my_Itr;
my_Itr.find("b");
int j = my_Itr->second;
my_Itr->second = j; 不過注意,鍵本身是不能被修改的,除非刪除。
5刪除數(shù)據(jù)
my_Map.erase(my_Itr);?
my_Map.erase("c");? ??還是注意,第一種情況在迭代期間是不能被刪除的,道理和foreach時(shí)不能刪除元素一樣。
6迭代數(shù)據(jù)
for(my_Itr=my_Map.begin();my_Itr!=my_Map.end();++my_Itr){
} 7其它方法
my_Map.size() 返回元素?cái)?shù)目
my_Map.empty() 判斷是否為空
my_Map.clear() 清空所有元素
可以直接進(jìn)行賦值和比較:=, >, >=, <, <=, != 等等
到此這篇關(guān)于c++中map容器的使用詳解的文章就介紹到這了,更多相關(guān)c++中的map容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談C++日志系統(tǒng)log4cxx的使用小結(jié)詳解
本篇文章是對C++日志系統(tǒng)log4cxx的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Reactor模型詳解與C++實(shí)現(xiàn)框架
Reactor模式是一種事件驅(qū)動(dòng)的并發(fā)處理模型,核心通過同步I/O多路復(fù)用實(shí)現(xiàn)對多個(gè)I/O源的監(jiān)聽,當(dāng)有事件觸發(fā)時(shí),派發(fā)給對應(yīng)處理器進(jìn)行非阻塞處理,本文給大家介紹Reactor模型詳解與C++實(shí)現(xiàn)框架,感興趣的朋友一起看看吧2025-05-05
c語言之char*和unsigned?char*的區(qū)別及說明
這篇文章主要介紹了c語言之char*和unsigned?char*的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
C++ Cmake的構(gòu)建靜態(tài)庫和動(dòng)態(tài)庫詳解
這篇文章主要為大家詳細(xì)介紹了C++ Cmake的構(gòu)建靜態(tài)庫和動(dòng)態(tài)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
C++設(shè)計(jì)模式之迭代器模式(Iterator)
這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之迭代器模式Iterator,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04

