1.定义并构造Map
map<对象1,对象2> 变量名;
例如map<string, Student> StudentBook;
2.使用insert插入数据
(1)pair<iterator, bool> insert( const pair<KEY_TYPE, VALUE_TYPE> &val )
该pair的模板参数就是该map容器的键值类型和值的类型。返回值也是一个pair,不过其模板参数是迭代器和bool,在这个返回值中,迭代器表示的是插入的数据在容器中的位置,bool值表示的是是否插入成功。
(2)iterator insert( iterator pos, const pair<KEY_TYPE, VALUE_TYPE> &val )
也是表示在容器中插入一个pair,不过该方法给出一个表示目标位置的迭代器(第一个参数)。其目的是在目标位置上插入这个pair。该方法的返回值也是一个迭代器,表示这个pair实际插入的位置。
(3)void insert( input_iterator start, input_iterator end );
注意:如果向迭代器中插入一个已有的键值对,则不能成功插入数据,而返回值的迭代器成员执行拥有该键值的元素。
将一个由输入迭代器的区间插入到容器中,该迭代器去接是左闭右开的。
例如:
map<int, int> m;
typedef pair<int, int> VALUE;
typedef map<int, int>::iterator MAP_ITER;
typedef pair< MAP_ITER, bool > RESULT_PAIR;
//(1)
m.insert( VALUE( 0, 1) );
RESULT_PAIR res = m.insert( VALUE( 1,11) );
//(2)
MAP_ITER iter = m.insert( m.begin(), VALUE( 2, 12) );
//(3)
map <int, int> m_copy;
m_copy.insert( m.begin(), m.end() );
3.查找数据