用make_pair函数和直接传递两个参数的区别是什么?make_pair起作用的地方在什么地方那?
1. 首先看看make_pair的定义:
2. 继续看看这个 return pair<T1,T2>(x,y)干了些什么。
2.1 相当于调用 return pair<T1,T2>(const T1& x, const T2& y);
2.2 然后调用pair的这个构造函数:
2.3 然后模板会自动将a赋值给first, b赋值给second.
2.4 下面看看first和second的定义:
3. 根据上面的分析,发现使用make_pair确实比较方面,在初始化的时候不用担心构造函数的不匹配。同时也发现了模板的强大之处。