Pairs(对组)
1、class pair可以将两个值视为一个单元,C++标准程序库内多处使用这个class。尤其容器类别map和multimap,就是使用pairs来管理其键值/实值(key/value)的成对元素。任何函数需要返回两个值,都需要pairs
namespace std { template <class T1, class T2> struct pair { //type names for the values typedef T1 first_type; typedef T2 second_type; //member T1 first; T2 second; /*default constructor *-T1() and T2() force initialization for built-in types */ pair():first(T1()), second(T2()){ } //constructor for two values pair(const T1& a, const T2& b):first(a), second(b){ } //copy constructor with implicit conversions template<class U, class V> pair(const pair<U, V>& p) : first(p.a), second(p.b){ } } //comparisons template <class T1, class T2> bool operator== (const pair<T1, T2>&, const pair<T1, T2>&); template <class T1, class T2> bool operator< (const pair<T1, T2>&, const pair<T1, T2>&); ... //similar != <= > >= //convenience function to create a pair template <class T1, class T2> pair<T1, T2> make_pair(const T1&, const T2&);
时间: 2024-11-10 14:58:14