C++ 日常记录 std::pair

std::pair

template <class T1, class T2> struct pair;
此类将一对值(可能是不同类型)结合在一起(T1 和 T2)。可以通过其公共成员访问各个值

Member variables(成员变量)

first: pair中的第一个值
second: pair中的第二个值

相关函数

swap()

交换两个pari 的内容

#include <iostream>
using namespace std;
int main()
{
	std::pair<int,char> f1(10,'a');
	std::pair<int,char> f2(12,'b');
	f1.swap(f2);
	cout<<f1.first<<endl;
	cout<<f1.second<<endl;
	return 0;
}	

在这里插入图片描述

make_pair(T1 x,T2 y)

构造一个 pair对象,其第一个元素设置为x,第二个元素设置为y。

#include <utility>      // std::pair
#include <iostream>     // std::cout

int main () {
  std::pair <int,int> foo;
  std::pair <int,int> bar;

  foo = std::make_pair (10,20);
  bar = std::make_pair (10.5,'A'); 

  std::cout << "foo: " << foo.first << ", " << foo.second << '\n';
  std::cout << "bar: " << bar.first << ", " << bar.second << '\n';

  return 0;
}

在这里插入图片描述

排序
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
int main()
{	
	std::vector<pair<int,int>> p;
	p.push_back(make_pair(2,1));
	p.push_back(make_pair(100,2));
	p.push_back(make_pair(21,3));
	p.push_back(make_pair(12,4));
	sort(p.begin(),p.end(),greater<pair<int,int>>());
	for(int i = 0;i<p.size();i++)
	{
		cout<<p[i].first<<","<<p[i].second<<endl;
	}
	return 0;
}		

可以看出默认是按照 first 排序的。
在这里插入图片描述

参考链接

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyDremever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值