multimap

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:05:34
m[0.5]='A'
这个是map可以这么直接赋值,请问multimap怎么直接赋值的?
VC6.0.急
比如说map<double,char>m;
m[0.5]='A';
这样是能直接赋值的.
multimap怎么直接赋值?谢谢了,知道的人仍句话类.

map就是映射表。
描述从关键词到内容的映射。
根据定义的key-word的类型分配空间,追加数据项的时候采用的链表方式讲kw数据块封装成一个结构体包装后保存的。

比如你定义了 map<double, char> m,表示定义一个 double 到 char的映射(内部就是一个 struct { double key, char word, void*nextptr} 。
执行 m[0.5]= 'a';的内部过程:首先根据关键词 0.5在内部数据存储链表中搜索key值,看是否能找到这个关键词,如果找到,就将那个数据块的 word值修改为 ‘a',如果找不到,就在链表的末尾添加一个新结构体,并赋给0.5/’a'的关键词内容对。

其实差不多,我看一般对multimap都是这样用的

multimap.insert(make_pair("key","value"));