C++STL常用操作之pair篇

C++STL常用操作之pair篇


简介:

pair(英文意义是一对、一双、对子)。没错,C++中pair就是一对的意思。

其功能就是将一对值组合成为一个值,这一对值可以具有不同的数据类型(T1,T2),两个值可以分别用pair的两个公有函数first和second访问。可以和struct做一些类比,但是它的使用会方便很多。

#include
template <class T1, class T2> struct pair;

头文件在代码中已经存在std的时候,就不需要再引用了

using namespace std;

即相当一部分代码中都会写上这个语句,而std中会对pair进行重复申明,那么我们可以不引用头文件以节约资源。

1.构造

pair<int, int> p1;							//默认构造函数
pair<int, double> p2(1, 1.5);				//给定值的构造函数
pair<string, int> p3 = make_pair("pair", 4);//利用make_pair赋值
pair<string, int> p4(p3);					//拷贝构造函数

first和second可以是任意类型,也可以是自定义的struct类型。

2.访问、获取

pair<int, double> p1(1, 1.5);				//给定值的构造函数
p1.first = 2;
p1.second = 2.5;
cout << p1.first << endl << p1.second << endl;

在这里插入图片描述

比如在一个函数需要有两个返回值的时候,如果是相同的类型,可能会想到用数组,那么如果不是相同类型的,可能会想到用一个struct,但是为了使用方便可以直接使用c++自带的pair。

那么问题来了,如果需要三个返回值呢?

极端!

pair> p;
p.first = 1;
p.second.first = 2;
p.second.second = 3;
cout << p.first << endl << p.second.first << endl << p.second.second << endl;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yDb6dITb-1610692379572)(C:\Users\30360\Pictures\Saved Pictures\222.png)]


pair基础知识!

发现问题欢迎指正!

希望能帮助到你!有问题请留言!

你可能感兴趣的:(快速学习STL,c++,编程语言)