map提供的是一种键值对的容器,里面的数据元素都是成对出现的,即key-value
map的头文件和命名空间
#include<map>
using namespace std;
map的定义
一般情况下,都是定义一个空的map对象
map<int,char>stud_sex_map;
map是一个模板类,支持各种类型
map的使用
int main(int argc,char* argv[])
{
map<int,char>stud_sex_map;
stud_sex_map[10010] = "m"; //赋值
stud_sex_map[10011] = 'f';
int m_size = stud_sex_map.size(); //返回容器的元素个数
stud_sex_,ap.empty(); //检测容器是否为空
char sex = stud_sex_map[10010];
sex = stud_sex_map[10012];
if(stud_sex_map.count(10012)<=0) //判断容器中是否有某个元素
{
stud_sex_map[10012] = 'f';
}
sex = stud_sex_map[10012];
return 0;
}
map的删除
常使用erase方法,erase方法支持key删除和迭代器删除
stud_sex_map.erase(10010);
stud_sex_map.erase(stud_sex_map.begin());
map的遍历
map不是数组,只能使用迭代器进行遍历
for(map<int,char>::iterator itor = stud_sex_map.begin(); itor !=stud_sex_map.end();++itor)
{
int key = itor->first;
char ch=itor->second;
cout<<"key="<<key<<",value+"<<ch<<endl;
}