| 所在主题: | |
| 文件名: C _Map_H_的使用方法II.pdf | |
| 资料下载链接地址: https://bbs.pinggu.org/a-1793051.html | |
| 附件大小: | |
|
C++中map容器的说明和使用技巧 C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple
允许一个键对应多个值。 一、map的说明 1 头文件 #include<map>
2 定义 map<string, int>my_Map; 或者是typedef map<string, int>MY_MAP; MY_MAPmy_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:
解答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)
具体代码: [hide][/hide] |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明