freq_table[field_pm_value] = map<string, int>() 是什么意思?方法?

What does freq_table[field_pm_value] = map<string, int>(); means?

提问人:adi_226 提问时间:10/19/2019 更新时间:10/19/2019 访问量:41

问:

我正在浏览一些代码,但无法弄清楚以下语法:

freq_table[field_pm_value] = map<string, int>();

我对这里发生的事情感到困惑“map string, int()”。freq_table类型

map<string, map<string, int> >& freq_table 

完整代码如下 https://github.com/vishalsingh8989/Star-Cubing-Algorithm/blob/master/src/csvreader.cpp

谢谢

C++ 典向量 STL C++-标准库

评论


答:

1赞 Sid S 10/19/2019 #1
freq_table[field_pm_value] = map<string, int>();

这将创建一个新的空 from to ,然后将其复制到mapstringintfreq_tablefield_pm_value

如果没有 的条目,则为其创建一个新条目。freq_tablefield_pm_value

1赞 ignacio 10/19/2019 #2

地图

映射是关联容器,用于存储由键值和映射值组合而成的元素,并遵循特定顺序。

此结构类似于: 在一所房子里,你有不同的房间,代表你的“外图容器”,在每个房间里,你都有独特的家具和它们的数量。这些家具在“内部地图”中定义。map<string, map<string, int> >& freq_table

由于拥有独特的钥匙,那么您的房子里不能有 2 间卧室,也不能在同一个房间里有 2 张床。std::map

在你的例子中,你正在检查你的“房间”是否已经有家具,否则你建造了一个空的“房间”。

我对这个尴尬的类比感到抱歉,尽管我希望它可能会有所帮助。