C++ make_pair
std::make_pair
template <class T1, class T2>
pair<T1, T2> make_pair(T1 x, T2 y);
构造一对对象
此函数相当于构造一对对象,其第一个元素设置为x,第二个元素设置为y。模板类型可以从传递的参数中隐式推导make_pair。这一对对象可以由其他不同类型且可转换的参数值转换而成(此句拗口,看下面例子更加通俗易懂)。
上述功能模板等同于如下定义:
template <class T1,class T2>
pair<T1,T2> make_pair (T1 x, T2 y)
{
return ( pair<T1,T2>(x,y) );
}
例子
// make_pair example
#include <utility> // std::pair
#include <iostream> // std::cout
int main () {
std::pair <int,int> foo;
std::pair <int,int> bar;
foo = std::make_pair (10,20);
bar = std::make_pair (10.5,'A'); // ok: implicit conversion from pair<double,char>
std::cout << "foo: " << foo.first << ", " << foo.second << '\n';
std::cout << "bar: " << bar.first << ", " << bar.second << '\n';
return 0;
}
编辑运行
输出:
foo: 10, 20
bar: 10, 65