使用场景
通常是需要将两个value视为一个单元的时候。例如key/value。
首先它本身是一个struct,意味着,所有成员都是public的。
template <typename T1,typename t2>
struct pair
{
T1 first;
T2 second;
}
初始化方式
pair<T1,T2> p; //default construction
pair<T1,T2> p(arg1,arg2);
pair<T1,T2> p(std::move(arg1),std::move(arg2));
pair<T1,T2> p(piecewise_construct,t1,t2);//使用tuple初始化pair
逻辑判定
std::pair 重载了 > , < , != , >= , <=
常用函数
//根据两个参数自动推断返回pair<T1,T2> T1,T2的类型
auto p=make_pair(arg1,arg2);