点击查看代码
#include<iostream>
#include<utility>
#include<string>
#include<map>
using namespace std;
int main() {
//pair定义的两个参数分别是数据成员first和second的类型
pair<string, int> p("haha", 5); //1、定义时直接初始化
p.first = "haha"; p.second = 5; //2、赋值初始化p
p = make_pair("haha", 5); //3、使用make_pair()初始化
p = pair<string, int>("heihei", 555); //4、使用一个临时pair容器初始化
//对两个pair容器进行逻辑比较(==、!=、<、<=、>、>=)
//先比较first成员,如果不相等则输出结果,不需要比较second成员
//当first成员相等时,才比较second成员
pair<int, int> p1(5, 10);
pair<int, int> p2(5, 15);
pair<int, int> p3(10, 5);
if (p1 < p3) printf("p1<p3\n"); //true
if (p1 <= p3) printf("p1<=p3\n"); //true
if (p1 < p2) printf("p1<p2\n"); //true
//可以使用pair容器作为键值,插入到map容器中
map<string, int> mp;
//使用make_pair()创建一个pair型临时变量并初始化,然后将该数据插入到map中
mp.insert(make_pair("haha", 5));
//创建一个pair型临时变量并初始化,然后将该数据插入到map中
mp.insert(pair<string, int>("heihei", 6));
return 0;
}