C++ STL map的使用demo

本人对OC比较熟练。map其实相当于OC的字典,键值对存储,快速索引,内部的存储比较复杂,无序(内部已经排序)

mutablemap可以增加相同key值的键值对。

自写的demo如下:

#include <iostream>
#include <map>
using namespace std;

int main()
{

    //定义一个map
    map <string,string> myMap;
    //新增元素
    myMap["name"] = "zhufengzhu";
    myMap["school"] = "Havord";
    myMap.insert(pair<string,string>("address","WenerRoad 418"));
    //根据key获取元素
    string name = myMap["name"];
    cout<<"name is :"<<name<<endl;
    //返回迭代器
    map<string,string>::iterator it;
    it = myMap.find("school");
    if(it != myMap.end()){
        cout<<"find the object at key:school\n";
        //删除 by key
        //myMap.erase("school");
        //删除 by iterator
        //myMap.erase(it);
    }
    for(it=myMap.begin();it!=myMap.end();it++){
        cout<<it->first<<":"<<it->second<<endl;
    }
    return 0;
}

 

 

其他常用的接口

      begin()          返回指向map头部的迭代器
      clear()         删除所有元素
      count()          返回指定元素出现的次数
      empty()          如果map为空则返回true
      end()            返回指向map末尾的迭代器
      equal_range()    返回特殊条目的迭代器对
      erase()          删除一个元素
      find()           查找一个元素
      get_allocator()  返回map的配置器
      insert()         插入元素
      key_comp()       返回比较元素key的函数
      lower_bound()    返回键值>=给定元素的第一个位置
      max_size()       返回可以容纳的最大元素个数
      rbegin()         返回一个指向map尾部的逆向迭代器
      rend()           返回一个指向map头部的逆向迭代器
      size()           返回map中元素的个数
      swap()            交换两个map
      upper_bound()     返回键值>给定元素的第一个位置
      value_comp()      返回比较元素value的函数

                               

posted @ 2016-07-28 17:06  知吾猪  阅读(390)  评论(0编辑  收藏  举报