码迷,mamicode.com
首页 > 编程语言 > 详细

c++几个通用工具

时间:2017-01-15 20:31:09      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:c++   ons   first   map   key/value   bool   blog   color   mil   

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&);

c++几个通用工具

标签:c++   ons   first   map   key/value   bool   blog   color   mil   

原文地址:http://www.cnblogs.com/penghuster/p/6287681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!