用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确实比较方面,在初始化的时候不用担心构造函数的不匹配。同时也发现了模板的强大之处。

posted on 2007-09-20 10:43  今夜太冷  阅读(2336)  评论(0)    收藏  举报