zoukankan      html  css  js  c++  java
  • c++几个通用工具

    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&);
  • 相关阅读:
    StringTable
    TCP网络协议
    也说JVM内存区域
    JVM类加载
    java中的引用:强、软、弱、虚
    AQS
    vscode支持unicode编码
    设计模式简记-快速改善代码质量的编程规范
    擅事利器
    设计模式简记-通过重构增强代码可测试性实战
  • 原文地址:https://www.cnblogs.com/penghuster/p/6287681.html
Copyright © 2011-2022 走看看