Avatar ·

Como iterar corretamente todos os elementos de std::map em C++?

Olá a todos! Recentemente comecei a estudar C++ e me deparei com a seguinte tarefa: preciso percorrer todos os pares chave-valor em std::map e, por exemplo, exibi-los na tela ou realizar alguma operação. Eu entendo que map é um contêiner associativo, onde cada elemento é armazenado como std::pair, mas não consigo entender a sintaxe dos loops.\n\nTentei escrever assim:\n\n```cpp\n#include \n#include \n#include \n\nint main() {\n std::map ages;\n ages["Alice"] = 30;\n ages["Bob"] = 25;\n ages["Charlie"] = 35;\n\n // Minha primeira tentativa — claramente errada\n for (int i = 0; i < ages.size(); i++) {\n std::cout << ages[i] << std::endl; // erro de compilação\n }\n}\n```\n\nMas isso, claro, não funciona, porque operator[] em