C++ STL的神器——pair容器
在C++ STL中,有一个非常强大的容器——pair。这个容器是由两个元素组成的键值对。pair通常用于需要存储两个值但不想为此使用一个完整的类的情况下。
pair是一个模板,其定义为:
template <class T1, class T2> struct pair;
即pair是一个将两个类型T1和T2组合在一起的结构体,其实现方式如下:
template <class T1, class T2>
struct pair {
typedef T1 first_type;
typedef T2 second_type;
T1 first;
T2 second;
/* 构造函数 */
pair():first(T1()), second(T2()) {}
pair(const T1& a, const T2& b):first(a), second(b) {}
template<class U1, class U2>
pair(const pair<U1, U2>& p):first(p.first),second(p.second) {}
/* 重载比较运算符 */
bool operator==(const pair& p) const { return first==p.first