看看这个pair模板
template<class T, class U>
struct pair {
typedef T first_type;
typedef U second_type
T first;
U second;
pair();
pair(const T& x, const U& y);
template<class V, class W> @1
pair(const pair<V, W>& pr); @2
};
上面的代码中行@1@2的意思是定义一个copy成员函数,为什么这样写
为什么不只写成pair(const pair& pr) ,或者也着两种写法都可以?