【发布时间】:2018-10-20 12:06:06
【问题描述】:
我正在尝试实现一个字典,其中我有一个外部映射(作为多映射),键是要搜索的单词,值是内部映射,它本身将有几对具有不同的值,它们都可以映射到外部多映射键。
例如:Distinct这个词有多种含义,具体取决于它是名词、动词、形容词还是代词==> 名词-此程序中的关键字 副词- 独一无二。写得“明显”等等。
我正在考虑将单词 Distinct 作为 key 映射到外部多重映射,并将词性映射为内部映射的键,定义为内部地图的值。
到目前为止,我将多重映射声明为:
typedef map<string, string> valMap;
multimap<string,valMap> myMultMap;
我尝试使用 insert() 来添加值,如下所示:
myMultMap.insert("Diction", valMap.insert(pair<string,string>("fun", "first Value"));
我只是在学习地图,但仍然不确定地图中迭代器的内部工作原理。任何帮助将不胜感激。
【问题讨论】:
-
或者可以考虑使用 `map
, string> 代替。这样,您就有了一个组合键而不是嵌套映射。它使一些操作更容易,而另一些则更难。这实际上取决于数据的使用方式。在生产代码中,我可能会将这些细节隐藏在一个(或两个)类中
标签: c++ c++11 dictionary multimap