make_pair
可以使用构造对象类型 pair的模板 helper 函数,元素类型是以参数形式传递的数据类型。
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1& _Val1,
Type2& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1& _Val1,
Type2&& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1&& _Val1,
Type2& -Val2
);
template<class Type1, class Type2>
pair<Type1, Type2> make_pair(
Type1&& _Val1,
Type2&& -Val2
);
参数
_Val1
值初始化 pair的第一个元素。_Val2
值初始化 pair的第二个元素。
返回值
构造对对象:pair<类型 1,类型 2> (_Val1*,_Val2*)。
备注
make_pair 转换类型 reference_wrapper Class 对象引用类型并将腐朽的数组和函数转换为指针。
在返回的 pair 对象,确定 类型 1 如下所示:
如果输入类型 类型 1 是 reference_wrapper<X>,则返回的类型 类型 1 是 X&。
否则,则返回的类型 类型 1 是 decay<Type1>::type。如果 decay Class 不支持,则返回的类型 类型 1 是否与输入类型 类型 1。
该返回的类型 类型 2 从输入类型 类型 2.类似定位
make_pair 的一个优点是存储编译器自动取决于对象的类型,并且不需要显式指定。不要使用显式模板参数 make_pair<int, int>(1, 2) 例如,当您使用 make_pair 时,因为它不必要地详细的并添加复杂性 rvalue 引用可能导致生成失败的问题。
make_pair helper 函数还可以通过两个值传递给需要将对作为输入参数的函数。
示例
有关如何的示例使用帮助器函数声明的 make_pair,并初始化对,请参见 pair Structure。
要求
标头: <utility>
命名空间: std