全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 经管代码库
31261 184
2015-05-16

C++中map容器的说明和使用技巧

C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple


允许一个键对应多个值。   

一、map的说明   

  1   头文件  

  #include  <map>  

   

  2   定义  

  map<string,   int>  my_Map;  

或者是typedef     map<string,   int>  MY_MAP;  

  MY_MAP  my_Map;  

   

  3   插入数据  

  (1)  my_Map["a"]   =   1;  

  (2)  my_Map.insert(map<string,  int>::value_type("b",2));

  (3)  my_Map.insert(pair<string,int>("c",3));  

  (4)  my_Map.insert(make_pair<string,int>("d",4));  

   

  4   查找数据和修改数据  

  (1)  int   i   =  my_Map["a"];  

            my_Map["a"]   =  i;  

  (2)  MY_MAP::iterator   my_Itr;  

            my_Itr.find("b");  

            int   j  =   my_Itr->second;  

            my_Itr->second   =  j;  

不过注意,键本身是不能被修改的,除非删除。  

   

  5   删除数据  

  (1)  my_Map.erase(my_Itr);  

  (2)  my_Map.erase("c");  

还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。  

   

  6   迭代数据  

  for  (my_Itr=my_Map.begin();  my_Itr!=my_Map.end();  ++my_Itr)   {}  

   

  7   其它方法  

  my_Map.size()               返回元素数目  

  my_Map.empty()       判断是否为空  

  my_Map.clear()           清空所有元素  

可以直接进行赋值和比较:=,   >,  >=,   <,   <=,  !=   等等  

二/map的举例

要求: 将mymap中itemstruct   的a大于100的项删除  


复制代码


   

解答1:


复制代码


解答2:


复制代码
解答3:

复制代码


解答4: VC6中编译map编译出错的解决方法

Warnings similarto the following are generated even if you use the warning pragma to disablethe warning:

warning C4786:'std::rb_tree<CAiSpanningTree<State,std::less<State>>::TransClosureNode,

CAiSpanningTree<State,std::less<State>>::TransClosureNode,std::ident<Cai

SpanningTree<State,std::less<State>>::TransClosureNode,CAiSpanningTree<S

tate,std::less<State>>::TransClosureNode>,std::less<CAiSpanningTree<Stat

e,std::less<State>>::TransClosureNode>>': identifier was truncated to '255' characters in the debug information


解决code 加在stdafx.h的头文件处:

   #pragma warning(disable:4786)


具体代码:

本帖隐藏的内容



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-5-16 08:58:10
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-16 08:59:02
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-16 08:59:52
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-16 09:00:26
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-16 09:01:28
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群