1,定义方法:
map<类型1,类型2> map名;
例如:map<int,std::string> person;
2,赋值方法:
A: person[0] = "lewis0";
B: person.insert(std::pair<int, std::string>(1,"lewis1"));
//*****注意: key值重复无法进行插入,但可以通过赋值的方式进行覆盖
3,读取方法:
//读取方法1,迭代器
for ( it = person.begin();it != person.end();it++) {
std::cout << it->first<<" "<<it->second<<'\n';
}
//读取方法2,auto
for (auto it = person.begin();it != person.end();it++){
std::cout << it->first<<" "<<it->second<<'\n';
}
//读取方法3,用auto把it变为结构体(法2是把它变为开始的指针)
for (auto it : person) {
std::cout << it.first << " " << it.second << '\n';
}
4,删除方法:
//删除元素的方法1
std::map<int, std::string>::iterator it2;
it2 = person.find(1);
person.erase(it2);
//法2直接用key值
person.erase(0);
//获取map中的元素
std::map<int, std::string>::iterator it1;
it1 = person.find(1);//1是Key
if (it1 != person.end()) {
std::cout << it1->second << std::endl;
}
else std::cout << "Not found\n";