pair对象只能用提供的工厂函数构造