您的位置:首页 > 大数据 > 人工智能

pair & make_pair

2016-12-13 10:14 232 查看
//顺序表内部成员是一个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类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: