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

被折叠的 条评论
为什么被折叠?



