map相对于set区别,map具有键值和实值,所有元素根据键值自动排序,pair的第一个值被称为键值key,pair的第二个值被称为实值value。map也是以红黑树为底层实现机制,根据key进行排序
构造函数
#include<map>
map<int,string> m;
multimap<T1,T2> mlmap;
插入
-
方法一
map的key重复将无法放入,multimap则可以
m.insert({1,"汪汪汪"});
-
方法二
map的key重复则更新value
注意!!multimap不能用这种方法,因为key不唯一
[]方法访问map,如果key不存在将会自动创建m[2]="喵喵喵";
-
其他方法
m.insert(pair<int,string>(3,"咩咩咩")); m.insert(make_pair(4,"咕咕咕"));
遍历
for(auto it=m.begin();it!=m.end();it++)
{
cout<<it->first<<" "<<(*it).second<<endl;
}
for(auto it:m)
{
cout<<it.first<<" "<<it.second<<endl;
}
查找
返回迭代器,找不到返回end迭代器
auto it=m.find(2);
cout<<it->second<<endl;
大小
int size();
bool empty();
标签:map,multimap,auto,键值,key,pair
From: https://www.cnblogs.com/mpmp/p/17382860.html