首页 / C++ / C++中pair的用法
C++中pair的用法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++中pair的用法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2023字,纯文字阅读大概需要3分钟。
内容图文
![C++中pair的用法](/upload/InfoBanner/zyjiaocheng/842/f8eb9be9549e49b3a8603037c61b8e68.jpg)
C++中pair的用法
一、概述
pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如STL中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一种结构体,主要的两个成员变量是first, second 因为是使用struct不是class,所以可以直接使用pair的成员变量。
二、定义
pair<T1, T2> p1; //创建一个空的pair对象(使用默认构造),它的两个元素分别是T1和T2类型,采用值初始化。 pair<T1, T2> p1(v1, v2); //创建一个pair对象,它的两个元素分别是T1和T2类型,其中first成员初始化为v1,second成员初始化为v2。 make_pair(v1, v2); // 以v1和v2的值创建一个新的pair对象,其元素类型分别是v1和v2的类型。 p1 < p2; // 两个pair对象间的小于运算,其定义遵循字典次序:如 p1.first < p2.first 或者 !(p2.first < p1.first) && (p1.second < p2.second) 则返回true。 p1 == p2; // 如果两个对象的first和second依次相等,则这两个对象相等;该运算使用元素的==操作符。 p1.first; // 返回对象p1中名为first的公有数据成员 p1.second; // 返回对象p1中名为second的公有数据成员
三、pair的创建和初始化
pair包含两个数值,与容器一样,pair也是一种STL模板类型。但是又与之前介绍的容器不同;在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型可自由定义。
pair<string, string> ob; // 创建一个空对象ob,两个元素类型都是string pair<string, int> a; // 创建一个空对象 a, 两个元素类型分别是string和int类型 pair<string, vector<int> > b; // 创建一个空对象b,两个元素类型分别是string和vector类型
四、pair的排序
加入头文件
#include<algorithm>
1. 默认的sort()函数
pair<int,int>Item[n]; //定义pair对象数组Item[n] sort(Item, Item+n); //默认对Item的first的值进行排序
2. 自定义的sort()函数
bool cmp(pair<int, int>a, pair<int, int>b) { return a.first<b.first; //根据fisrt的值升序排序 }
bool cmp(pair<int, int>a, pair<int, int>b) { return a.first>b.first; //根据second的值升序排序 }
调用sort()函数
sort(Item, Item+n, cmp); // 按照自定义的顺序进行排序
五、自定义pair类型
typedef pair<int, int>P;
内容总结
以上是互联网集市为您收集整理的C++中pair的用法全部内容,希望文章能够帮你解决C++中pair的用法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。