学习C++primer 第26天 之 小问题

jinjunweiruan 2008-07-28 07:40:42
1.先讲讲pair和map之间的区别和联系。。怎么我看pair搞的也像一个容器 啊。。。。。

2.pair类型提供了这样2个操作:“p.first p.second" 书上解释的是说返回p中名为first(second)的(公有)数据成员.
这个怎么去理解?可以举几个例子,


3.关联容器感觉难多了...呵.

XX,可能问题有些白痴.呵呵...
...全文
187 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
大写的池 2008-07-28
  • 打赏
  • 举报
回复
可以结合看 effective stl
Eleven 2008-07-28
  • 打赏
  • 举报
回复
Up
Gob00st 2008-07-28
  • 打赏
  • 举报
回复
建议lz看<<C++标准程序库>>
sunhuanwen 2008-07-28
  • 打赏
  • 举报
回复
1 map和multimap 是使用pair来管理其键值/实值(key/value)的成对元素

2 pair被定义成struct 而不是class 所以pair中的所有成员都是公有的,可以直接存入pair中的个别值
pair<int, int> x;
x = make_pair<3, 5>;
那么x.first和x.second可以直接用来输出.
即cout<<x.first<<x.second;

3 建议看一个<<C++标准程序库>>
candyice 2008-07-28
  • 打赏
  • 举报
回复
1、pair包含两个数据值,与vector容器不同的是,在创建pair对象时,必须提供两个类型名,pair对象所包含的两个数据成员各自对应的类型名字,这两个类型不一定相同
map是键值对的组合。
2、举个例子:
pair<T1,T2> p1(v1,v2); 创建了一个pair对象,其中first成员初始化为v1,second成员初始化为v2,p1.first就是返回v1,p1.second返回的是v2
herman~~ 2008-07-28
  • 打赏
  • 举报
回复
pair 不是容器,就是一键 值 对


jay的Fans 2008-07-28
  • 打赏
  • 举报
回复
1.pair是一个数据的集合,包含两个数据,所以它可以作为实现map容器的工具,实现键值对的组合。pair并不能作为容器来使用。
2.pair被实做为一个结构体,first和second成员都是公有成员,所以当构造了个pair类型的对象的时候可以直接返回对象的数据成员。
3.。。。
HelloDan 2008-07-28
  • 打赏
  • 举报
回复
先讲讲pair和map之间的区别和联系。。怎么我看pair搞的也像一个容器

再看看书吧。是有区别的,pair的只是一个二元对, map是装二元对的,里面可能有N个。

65,189

社区成员

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

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