std::map容器的用法

插入数据:

//初始化
std::map<int, CString> mapEnt;

//用insert函数插入pair数据
mapEnt.insert(std::pair<int,CString>(1,_T("student_one")));
//用insert函数插入value_type数据
mapEnt.insert(std::map<int,CString>::value_type(2,_T("student_two")));  
//用数组方式插入数据
mapEnt[3] = _T("student_three");

读取值:

CString str = mapEnt[2];

//使用find函数
auto iter = mapEnt[2];
//可以通过迭代器修改值
iter->second = _T("haha");

遍历数据:

//迭代器
map<int, string>::iterator iter;
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)  
    cout<<iter->first<<' '<<iter->second<<endl;  

搜索数据:

map<int, string> mapStudent;  
mapStudent.insert(pair<int, string>(1, "student_one"));  
mapStudent.insert(pair<int, string>(2, "student_two"));  
mapStudent.insert(pair<int, string>(3, "student_three"));  
map<int, string>::iterator iter;  
iter = mapStudent.find(1);  
if(iter != mapStudent.end())  
	cout<<"Find, the value is "<<iter->second<<endl;  
else  
    cout<<"Do not Find"<<endl;  
return 0;  

删除数据:

map<int, string> mapStudent;  
mapStudent.insert(pair<int, string>(1, "student_one"));  
mapStudent.insert(pair<int, string>(2, "student_two"));  
mapStudent.insert(pair<int, string>(3, "student_three"));  
//如果你要演示输出效果,请选择以下的一种,你看到的效果会比较好  
//如果要删除1,用迭代器删除  
map<int, string>::iterator iter;  
iter = mapStudent.find(1);  
mapStudent.erase(iter);  
//如果要删除1,用关键字删除  
int n = mapStudent.erase(1);//如果删除了会返回1,否则返回0  
//用迭代器,成片的删除  
//一下代码把整个map清空  
mapStudent.erase( mapStudent.begin(), mapStudent.end() );  
//成片删除要注意的是,也是STL的特性,删除区间是一个前闭后开的集合  
//自个加上遍历代码,打印输出吧  
1.判断某元素是否存在
map<int, string> mapDemo;
bool bRet = mapDemo.count(100);//判断mapDemo中是否有 key = 100 的元素
         
2.查找某个元素
 map<int, string>::iterator iter = mapDemo.find(100);
if (iter != m_Int.end())
	//找到了
else
     //没找到
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值