stl中map的使用总结

5 篇文章 0 订阅

一、基本操作

//创建

map<int, string> map2;

//添加

map2.insert(pair<int, string>(11, "test11"));
map2.insert(pair<int, string>(12, "test12"));


map2.insert(make_pair(13, "test13"));
map2.insert(make_pair(14, "test14"));


map2.insert(map<int, string>::value_type(15, "test15"));
map2.insert(map<int, string>::value_type(16, "test16"));


map2[17] = "test17";
map2[18] = "test18";


//遍历
for (map<int, string>::iterator it = map2.begin(); it != map2.end(); it++)
{
int n = it->first;
CString str;
str = it->second.c_str();    //string 转换为CString

}

//删除
while (!map2.empty())
{
map<int, string>::iterator it = map2.begin();
map2.erase(it); //删除
}

二、对插入数据操作结果判断

//对插入数据操作结果判断
map<int, string> map3;


//添加
//typedef pair<iterator, bool> _Pairib;
pair<map<int, string>::iterator, bool> MyPair1 = map3.insert(pair<int, string>(11, "test11"));
pair<map<int, string>::iterator, bool> MyPair2 = map3.insert(pair<int, string>(12, "test12"));


pair<map<int, string>::iterator, bool> MyPair3 = map3.insert(make_pair(13, "test13"));
pair<map<int, string>::iterator, bool> MyPair4 = map3.insert(make_pair(14, "test14"));


pair<map<int, string>::iterator, bool> MyPair5 = map3.insert(map<int, string>::value_type(15, "test15"));
if (MyPair5.second) //true
{
AfxMessageBox(_T("MyPair5插入成功"));
}
else
{
AfxMessageBox(_T("MyPair5插入失败"));
}
pair<map<int, string>::iterator, bool> MyPair6 = map3.insert(map<int, string>::value_type(15, "test55"));
if (MyPair6.second) //false
{
AfxMessageBox(_T("MyPair6插入成功"));
}
else
{
AfxMessageBox(_T("MyPair6插入失败"));
}


//注意

map3[16] = "test16";
map3[16] = "test17"; //使用这种方法,会把上一次的值覆盖,这是这种插入方法的特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值