打印一个矢量地图
Print a vector of maps
如何打印multimaps向量?例如,我有一个像这样的向量:
typedef std::multimap<double,std::string> resultMap;
typedef std::vector<resultMap> vector_results;
编辑
for(vector_results::iterator i = vector_maps.begin(); i!= vector_maps.end(); i++)
{
for(vector_results::iterator j = i->first.begin(); j!= i->second.end(); j++)
{
std::cout << j->first << " " << j->second <<std::endl;
}
}
for
外环的i
变量指向一个resultMap
,这意味着j
变量的类型需要为resultMap::iterator
。将循环重写为
for(vector_results::const_iterator i = vector_maps.begin(); i != vector_maps.end(); ++i)
{
for(resultMap::const_iterator j = i->begin(); j != i->end(); ++j)
{
std::cout << j->first << " " << j->second << std::endl;
}
}
我将迭代器类型更改为const_iterator
,因为迭代器不修改容器元素。
如果你的编译器支持c++ 11的基于范围的for
循环,代码可以写得更简洁
for( auto const& i : vector_maps ) {
for( auto const& j : i ) {
std::cout << j.first << " " << j.second << std::endl;
}
}
相关文章:
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 如何制作一个地图,其中的值是C++中的结构数组
- 如何知道地图中的最后一个元素是否被删除?
- 将一个地图的内容附加并替换为另一个地图
- 如何在给定任意数量的整数的情况下创建一个唯一键?并使用该键存储,然后从地图中查找
- 如何在地图迭代器中检测最后一个元素
- 将映射从第二个元素复制到另一个地图
- 带钥匙的C 11地图定义了一个值范围
- 如果地图擦除范围内的第一个和最后一个相等,则是否删除该元素
- 合成地图:从另一个地图获取数据
- 从一个相机到另一个相机的地图点
- 在C 中创建一个巨大的标志地图
- 如何将std ::映射的第一个N元素复制到另一个地图
- 检查最后一个项目是否通过地图密钥存在
- C++:为什么我的hash_map会给我一个像地图一样有序的结果
- 如何得出结论,如果一个单位的士兵在网格地图上连接
- 构建一个地图,它的键可以同时用作SRRing和字符串数组
- 我读了map.erase(map.end());删除地图的最后一个元素。但是最后一个元素是什么?它是否基于元素的插入顺序?
- 访问地图内部的矢量,该矢量位于另一个地图内
- 访问地图的一个"item"