[STL]对std::map的插入和查询操作

原创 2007年10月11日 11:47:00

When you use the std::map data type, please note:

 Method1

std::map<int, CString> testMap;
testMap[
0= _T(“first”);
testMap[
0= _T(“second”);//it is OK, the value will be overwrite to “second”;

 

Method2

typedef std::map <int, CString>::value_type valType;
testMap.insert(valType(
0, _T(“first”));
testMap.insert(valType(
0, _T(“second”)); //it is faild, the value is still “first”

So in the method2, you have to delete the value with the same key before insert another value.

e.g.:

std::map <int, CString>::integrator it = testMap.find(0);
if ( it != testMap.end(); it++ )
      testMap.erase(
0);

What’s more, when you get a value by the array method(method1), If the specified key doesn’t exist in map, the key will be inserted automatically with a empty value. So make sure use testMap.find(key) to get any value in map rather than the array visite method.

e.g.:

//the key “1” doesn’t exist, it will be inserted and return  a empty string here.
CString str = testMap[1];

stl std::map容器排序及使用注意事项

#include "stdafx.h" #include #include int _tmain(int argc, _TCHAR* argv[]) { /** * map中的每个元素都是...
  • analogous_love
  • analogous_love
  • 2014年11月05日 12:44
  • 3777

stl之map容器的原理及应用

容器的数据结构同样是采用红黑树进行管理,插入的元素健位不允许重复,所使用的节点元素的比较函数,只对元素的健值进行比较,元素的各项数据可通过健值检索出来。map容器是一种关联容器,实现了SortedAs...
  • u010418035
  • u010418035
  • 2015年07月05日 12:21
  • 6577

stl map遍历和删除的方法

for(;iter!=mapStudent.end();) {      if((iter->second)>=aa)      {          //满足删除条件,删除当前结点,并指向下...
  • u014082714
  • u014082714
  • 2015年03月15日 18:32
  • 2277

STL的内存分配(各种allocator)

有感于STL的内存管理   警告:本文是技术类文章,只适合码工们围观,非码工请跳过此坑 1. 背景 前些天在一个技术分享会上,某大牛说,STL使用了内存池,释放内存的时候,并不释放给OS,而...
  • xocoder
  • xocoder
  • 2013年04月04日 17:52
  • 4962

STL插入排序std::upper_bound和std::lower_bound的使用,以及通用排序类

转载地址:http://blog.chinaunix.net/uid-22145625-id-3864291.html 1. 使用vector进行排序插入     如果我们有个vector容...
  • u012398613
  • u012398613
  • 2016年07月08日 17:03
  • 574

stl.find_if用法总结

原文地址:http://www.cnblogs.com/motadou/archive/2009/02/01/1561549.html 有时我们要在map、vector容器中查找符合条件的记录,ma...
  • Double2hao
  • Double2hao
  • 2016年03月03日 08:28
  • 1419

STL中的list/set/map等容器clear之后的内存占用

最近在知乎上看到一个问题
  • hekailing
  • hekailing
  • 2014年11月09日 20:05
  • 3562

stl中map自定义比较函数

stl中map自定义比较函数
  • cjc211322
  • cjc211322
  • 2015年01月04日 20:51
  • 1671

C++ STL map的使用和性能分析

1、map简介 map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操 作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。 ...
  • a418382926
  • a418382926
  • 2014年03月27日 17:13
  • 7132

STL源码剖析——关联容器之map

前言
  • chenhanzhun
  • chenhanzhun
  • 2014年09月24日 21:44
  • 1763
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[STL]对std::map的插入和查询操作
举报原因:
原因补充:

(最多只允许输入30个字)