求教大神关于map和pair的结合使用

听自己心跳的声音 2014-04-25 08:33:26
第一,这个布尔函数里边的pair定义怎么理解?
bool mysort(const pair<int,int>& p1,const pair<int,int>& p2)
{ return p1.second<p2.second;
}
第二,
map<string,int> m_map;

m_map.insert(map<string,int>::value_type("hello",5));
m_map.insert(make_pair("hello",5));
这类型代码中map 函数不是两个值一一对应吗?map对应的key和value分别是多少?如果调用某个map值,map的下标比如
map[1]或map[2]的值是多少?
...全文
437 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 shenchenman 的回复:
1 pair就是一对值,可以理解为一个结构体,包含first和second两个成员。这个pair经常和map联系使用。 2 makepair就是构造一个pair,pair可以作为map的一项做插入insert。m_map.insert(make_pair("hello",5)); key就是"hello",值就是5. 3 map[1]就是获得map中key是1对应的value。一般获取值更常用的写法是.value()方法
第二个懂了,第二个也就是说相当于pair里边的两个值对应map的两个值,用下标的话直接按pair里边定义的下表用就行。 第一个结构体排序是固定格式吗?排序里边也就是说前边把map的值按第二个元素排序对吧。在vector里边c++stl一般很少见直接用bool排序再引用的,放到一个结构体里边相对来说有什么优点和功能的强大之处吗? 我见一般好多都是map和pair连用,比map一个的功能强大在哪些地方?
shenchenman 2014-04-25
  • 打赏
  • 举报
回复
1 pair就是一对值,可以理解为一个结构体,包含first和second两个成员。这个pair经常和map联系使用。 2 makepair就是构造一个pair,pair可以作为map的一项做插入insert。m_map.insert(make_pair("hello",5)); key就是"hello",值就是5. 3 map[1]就是获得map中key是1对应的value。一般获取值更常用的写法是.value()方法
「已注销」 2014-04-25
  • 打赏
  • 举报
回复
hello 为key 5为value ,map是按键值取索引的,你说的下标??,

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧