长风破浪会有时,直挂云帆济沧海

Dream Word

博客园 首页 新随笔 联系 订阅 管理
  • std::map

    • 关联性容器
    • key-value存放方式
    • 不重复key
    • #include <iostream>
      #include <map>
      #include <string>
      
      struct Employee
      {
              Employee(){}
              Employee(const std::string& wszName):Name(wszName){}
              void SetName(std::string newName){ Name = newName;}
              std::string Name;
      };
      
      struct ReverseId:public std::binary_function<int, int, bool>
      {
              bool operator()(const int& key1, const int& key2) const
              {
                      return (key1 <= key2) ? false : true;
              }
      };
      
      int main()
      {
              const int size = 3;
              const std::pair<int, Employee> items[size] =
              {
                      std::make_pair(1,Employee("Tom")),
                      std::make_pair(2,Employee("Jerry")),
                      std::make_pair(3,Employee("Alice")),
              };
      
              std::map<int, Employee, ReverseId> map1(items, items+size);
              //insert
              map1.insert(std::make_pair(4, Employee("Brown")));
              map1[5] = Employee("Fisher");
              //delete        
              std::map<int, Employee, ReverseId>::iterator it = map1.begin(); 
              map1.erase(it); 
      
              Employee& e = map1[2];
              e.SetName("ZhaoHu");
      
              for(it = map1.begin(); it != map1.end(); it++)
              {
                      std::cout<<"key:"<<it->first<<"value:"<<(it->second).Name<<std::endl;
              }
      
              return 0;
      }
          
      

       

  • std::multimap

    • 可重复key
posted on 2018-08-05 18:02  长风II  阅读(189)  评论(0编辑  收藏  举报