Skip to content

Printing a map inside a vector

An answer to this question on Stack Overflow.

Question

How to print a map inside a vector. I'm finding for a solution here but couldn't find one.

std::vector< std::map<std::string, std::string> > output_map_vector;

Answer

You could try:

for(const auto &v: output_map_vector)
for(const auto &kv: v)
  std::cout<<kv.first<<" "<<kv.second<<std::endl;

Or

for(auto v=output_map_vector.begin();v!=output_map_vector.end();v++)
for(auto kv=v->begin();kv!=v->end();kv++)
  std::cout<<(kv->first)<<" "<<kv->second<<std::endl;