map容器特点

来源:互联网 发布:mac pro flash player 编辑:程序博客网 时间:2024/06/06 01:39


map容器为关联式容器,有如下特点:

1,其基本单位(节点)为pair类型,就是必须有实值(value)和键值。pair的第一元素为键值(通过.first 或->first访问),第二元素为实值(通过.second 或者->second访问)

2,map不容许有相同的键值

3,map中的所有元素(value)都根据键值(key)被自动排序。

4,键值不可以被修改

其中pair的定义如下:

template<class T1, class T2>struct pair{typedef T1 first_type;typedef T2 second_type;T1 first;T2 second;pair():first(T1()),second(T2()){}pair(const T1& a,const T2& b): first(a),second(b){}};
示例:

#include <map>#include <iostream>using namespace std;int main(){map<string ,int> simap;simap[string("wang")] = 1;simap[string("deng")] = 2;pair<string,int> value(string("fu"),5);simap.insert(value);map<string,int>::iterator iter=simap.begin();for(;iter!=simap.end();iter++){cout<<iter->first<<' '    <<iter->second<<endl;}int number = simap[string("wang")];  //由于重载后的[] 返回的是一个引用,所以simap[string("wang")]既可以simap[string("wang")] = 10;          //作为左值,又可以作为右值,注意要作为左值必须为引用iter= simap.find(string("wang"));cout<<"wang=" <<iter->second<<endl;//10return 0;}


原创粉丝点击