[英]Access elements of a list inside an unordered map in C++
我的基本疑问很简单:假设我有一张这样的地图
std::map<int,std::list<int>> my_map;
现在,我想将地图内列表的每个int复制到一组int中。 这是我正在做的解决方案的杰作,它只漏掉了这一部分...我只想知道如何将映射内的列表过程变成集合。
首先,您似乎正在复制...而不是循环插入,请尝试使用:
void insert (InputIterator first, InputIterator last);
因此,对于您来说(不需要for循环):
visitados.insert(graph.begin(), graph.end());
我想您只是在问如何从新地图中获取数据? 在unordered_map中,您可以使用正确的语法,可以使用[]运算符,但是除非需要减少额外的性能,否则应坚持使用std :: map。 特别是考虑到到目前为止您在使用STL时遇到的困难。
另外,我想强调使用排序(在常规地图上),查找和迭代器之类的功能,以使事情更安全,更轻松。
在这里阅读更多 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.