for (map<T1, T2>::iterator it = m.begin(); it != m.end(); it++)
{
cout << "key = " << it->first << " value = " << it->second << endl;
}
map<T1, T2> mapTT; // map默认构造函数
map(const map& mp); // 拷贝构造函数
map& operator=(const map& mp); // 重载等号操作符
swap(mp); // 交换两个集合容器
int size(); // 返回容器中元素的数目
bool empty(); // 判断容器是否为空
pair<iterator, bool> insert(pair<T1, T2> p); // 通过pair的方式插入对象
/*
1. 参数部分可以用pair的构造函数创建匿名对象
2. 也可以使用make_pair创建pair对象
3. 还可以用map<T1, T2>::value_type(key, value)来实现
*/
T2& operator[](T1 key); // 通过下标的方式插入值
// 如果通过下标访问新的键却没有赋值,会自动用默认值填充
map指定排序规则的方式和set类似,都是利用functor在模版类型表的最后一个参数处指定。
void clear(); // 删除所有元素
iterator erase(iterator pos); // 删除pos迭代器所指的元素,返回下一个元素的迭代器
iterator erase(beg, end); // 删除区间[beg, end)内的所有元素,返回下一个元素的迭代器
erase(keyElem); // 删除容器中key为keyElem的对组
iterator find(T1 key);
// 查找键key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回map.end()
int count(T1 keyElem);
// 返回容器中key为keyElem的对组个数,对map来说只可能是0或1,对于multimap可能大于1
iterator lower_bound(T keyElem);
// 返回第一个key>=keyElem元素的迭代器
iterator upper_bound(T keyElem);
// 返回第一个key>keyElem元素的迭代器
pair<iterator, iterator> equal_range(T keyElem);
// 返回容器中key与keyElem上相等的两个上下限迭代器