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类型。
相关文章推荐
- [C++]pair<int,int>与make_pair<int,int>
- no matching function for call to 'make_pair(std::string&, size_t&)'
- 关于VS2012使用make_pair编译提示“error C2664: “std::make_pair”: 不能将参数 1 从“int”转换为“int &&””
- 对std::vector<make_pair>中重复元素的删除
- pair & make_pair
- Make & Makefile
- 例说数据结构&STL(十三)——pair
- 《The C++ Standard Library》第39页 make_pair的作用
- HDU 5963 朋友/podru 4000 ga (找规律+map&pair基本用法)
- pair,make_pair学习
- make: *** No rule to make target ' ', needed by ' '. Stop.
- android ndk make: * No rule to make target '/', needed by '/android/workspace/NDKTest/obj/解决办法
- gcc & gdb & make 定义与区别
- Fiddler之makecert.exe提示Failed to acquire a security provider from issuer's centificate问题解决
- $(srctree) is not clean, please run 'make mrproper'
- 从一道整数合并问题学习 STL 之make_heap &&priority_queue&&multiset
- make: *** No rule to make target `clean'(archive). Stop.
- configure && make && make install
- make_pair
- automake & autoconf