C++STL常用操作之pair篇
简介:
pair(英文意义是一对、一双、对子)。没错,C++中pair就是一对的意思。
其功能就是将一对值组合成为一个值,这一对值可以具有不同的数据类型(T1,T2),两个值可以分别用pair的两个公有函数first和second访问。可以和struct做一些类比,但是它的使用会方便很多。
#include<utility>
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<int, pair<int, int>> p;
p.first = 1;
p.second.first = 2;
p.second.second = 3;
cout << p.first << endl << p.second.first << endl << p.second.second << endl;
pair基础知识!
发现问题欢迎指正!
希望能帮助到你!有问题请留言!