What is the type of `entry` in this loop, and what does the body print?std::map<std::string, int> m = {{"a", 1}, {"b", 2}}; for (const auto& entry : m) { std::cout << entry.first << "=" << entry.second << " "; }