【STL】14 map容器
#include<iostream>
#include<map>
using namespace std;
//map初始化
void test01(){
//map容器模板参数,第一个参数key的类型,第二个参数的类型
map<int,int> mymap;
//插入数据 pair.first = key 值, pair.second = value值
//第一种
pair<map<int,int>::iterator,bool> ret = mymap.insert(pair<int,int>(10,10));
if(ret.second){
cout<<"插入成功"<<endl;
}
else{
cout<<"插入失败"<<endl;
}
ret = mymap.insert(pair<int,int>(10,20)); //再次插入key值相同的元素,则会插入失败
if(ret.second){
cout<<"插入成功"<<endl;
}
else{
cout<<"插入失败"<<endl;
}
//第二种
mymap.insert(make_pair(20,20));
//第三种
mymap.insert(map<int,int>::value_type(30,30));
//第四种
mymap[40]=40;
//打印
for(map<int,int>::iterator i = mymap.begin();i!=mymap.end();i++){
// *i 取出来的是一个pair
cout<<"key:"<<(*i).first<<" "<<"value:"<<(*i).second<<endl;
}
cout<<endl;
//如果插入的key不存在,则创建pair到map容器中
//如果发现插入的key存在,那么会更新key对应的value
mymap[10]=20;
mymap[50]=50;
//打印
for(map<int,int>::iterator i = mymap.begin();i!=mymap.end();i++){
// *i 取出来的是一个pair
cout<<"key:"<<(*i).first<<" "<<"value:"<<(*i).second<<endl;
}
cout<<endl;
//如果通过【】方式去访问map一个不存在的key
//那么map会将这个访问的key插入到map中,并且给value一个默认值
cout<<"map[60]:"<<mymap[60]<<endl;
//打印
for(map<int,int>::iterator i = mymap.begin();i!=mymap.end();i++){
// *i 取出来的是一个pair
cout<<"key:"<<(*i).first<<" "<<"value:"<<(*i).second<<endl;
}
cout<<endl;
}
int main(){
test01();
return 0;
}