【发布时间】:2019-10-23 04:57:10
【问题描述】:
我正在尝试弄清楚如何在以列表为值的无序地图周围进行操作。是否可以通过指定的字符串键将列表分配给一个值,然后在该列表中添加一些值或修改它或替换整个列表?我也不明白您将如何打印特定列表。
例子:
std::unordered_map <string, list<int> > testmap;
list<int> templist;
templist.pushfront(10);
templist.pushfront(5);
testmap["First"] = templist;
如何从无序地图中打印列表临时列表,以及如何在将其分配给“First”后添加到列表中
【问题讨论】:
-
您不能修改映射键。您只能擦除元素并创建一个新元素。为什么还需要以列表为键的地图?
-
请编辑您的问题以显示您希望喜欢能够使用的代码示例——即使它无法编译。
-
我应该更清楚地说明键不是列表,但每个键都有一个与之关联的列表。说明已更新。
-
您可能想edit 您在这里提出的具体问题。您真的在寻找“有可能吗?”的答案。这似乎是这里唯一的问题,答案是“是”。否则,我们猜测真正的问题是什么。
-
@FawksMulder 使用此代码示例时,您有什么特别的问题?您可以像往常一样添加到
std::list,只要您通过密钥访问它。打印列表像往常一样在循环中完成,除非您提供std::ostream& operator<<(std::ostream&, const std::list&)重载(这意味着循环)。
标签: c++ algorithm list dictionary