STL——pair详细用法

本文深入解析C++标准模板库(STL)中的Pair概念,介绍其定义、使用方法及在实际编程中的应用场景,如替代结构体和作为Map键值对的插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pair

pair主要是将两个元素捆绑起来,简单来说就是类似一个含两个元素的结构体,并且元素的类型可以不同
起初理解就行这样:

struct pair
{
  typename1  ;
  typename2  ;
};
pair的定义

定义时要引用#include,如果使用了map头文件的话可以忽略掉utility头文件,在map的使用中会自动调用pair的库
pair有两个参数他们可以是任何容器或任何数据类型

#include<utility>
#include<iostream>
using namespace std;
int main()
{
	pair<string,int> q;
	//赋值方法	
	pair<string,int> q("STL",666); 
	q=pair<string,int>("STL",666);
} 

其中最后两种赋值方法效果相同

临时创建一个pair

(1)pair<string,int>(“STL”,666);
(2)make_pair(“STL”,666);

元素访问

通过first 和second访问

函数实例
比较操作

两个pair类型的数据可以直接通过一般运算符比较大小,先比较first,first相等时,再比较second
示例:

#include<utility>
#include<iostream>
using namespace std;
int main()
{
	pair<string,int> q1("stl",6);
	pair<string,int> q2("STL",6); 
	pair<string,int> q3("STL",666);
	
	if(q1>q2) cout<<"1"<<endl;
	if(q2<q3) cout<<"2"<<endl;
	if(q1>q3) cout<<"3"<<endl;
} 
//输出1   2   3 
pair常见用途
(1)代替结构体及其构造函数,节省编码时间
(2)作为map的键值进行插入
#include<map>
#include<iostream>
#include<string>
using namespace std;
int main()
{
	map<string,int> mp;
	mp.insert(make_pair("STL",666));
	mp.insert(pair<string,int>("stl",777));
	for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
	{
		cout<<it->first<<"  "<<it->second<<endl;
	} 
	return 0;
}
/*
输出结果为
STL  666
stl  777 
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数学小牛马

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

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

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

打赏作者

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

抵扣说明:

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

余额充值