std::pair 是可以比较大小的
有这样的全局函数
template<class _Ty1, class _Ty2> inline bool operator<(const pair<_Ty1, _Ty2>& _Left, const pair<_Ty1, _Ty2>& _Right) { // test if _Left < _Right for pairs return (_Left.first < _Right.first || !(_Right.first < _Left.first) && _Left.second < _Right.second); }
也就是说可以比较大小,先按first比较,如果相等,再按照second比较。