stl map高效插入和更新

来源:互联网 发布:阿里云ecs 数据盘挂载 编辑:程序博客网 时间:2024/04/28 06:26
template<typename MapType,// map的类型typename KeyArgType,// KeyArgType和ValueArgtypetypename ValueArgtype>// 是类型参数// 的原因请看下面typename MapType::iteratorefficientAddOrUpdate(MapType& m,const KeyArgType& k,const ValueArgtype& v){typename MapType::iterator Ib =// 找到k在或应该在哪里;m.lower_bound(k);// 为什么这里// 需要“typename”// 参见第7页if(Ib != m.end() &&// 如果Ib指向一个pair!(m.key_comp()(k, Ib->first))) {// 它的键等价于k...Ib->second = v;// 更新这个pair的值return Ib;// 并返回指向pair的}// 迭代器else{typedef typename MapType::value_type MVT;return m.insert(Ib, MVT(k, v));// 把pair(k, v)添加到m并}// 返回指向新map元素的}// 迭代器
原创粉丝点击