pair & make_pair

//顺序表内部成员是一个pair类型的对象
vector<pair<void*, size_t>> v; 

//利用make_pair()创建了一个pair类型的对象
v.push_back(make_pair(Deafult_Malloc_Template<false, 0>::Allocate(129), 129));

1 make_pair创建的是一个pair对象。
2 pair是单个数据对的操作,pair是一struct类型,有两个成员变量,通过first,second来访问,用的是“.”访问,
3 make_pair是一个函数,pair是一个类
这里写图片描述

这里写图片描述

pair使用例子:
这里写图片描述

make_pair使用例子:
这里写图片描述

总结:
pair:
C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 。pair可以将两个不同类型的值合并成一个结构体。 pair被定义为struct,因此可直接存取pair中的个别值.当两个pairs互相比较时, 第一个元素正具有较高的优先级.我们可以使用pair的构造函数也可以使用make_pair来生成我们需要的pair。

make_pair:
一般make_pair都使用在需要pair做参数的位置,可以直接调用make_pair生成pair对象很方便 。 另一个使用的方面就是pair可以接受隐式的类型转换,这样可以获得更高的灵活度,但也会带来一些问题:
std::pair < int, float> foo(1, 1.1);
std::make_pair(1, 1.1);

其中第一个的second变量是float类型,而make_pair函数会将second变量都转换成double类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值