map の中身が空であるかどうかには、empty() を使う。
map の要素を消去するには、erase を使う。
例
#include <iostream>
#include <map>
#include <string>
int main()
{
std::map<char, std::string> map1;
map1['a'] = "hello";
map1['b'] = "world";
while (!map1.empty())
{
std::cout << map1.begin()->first << ":" << map1.begin()->second << '\n';
map1.erase(map1.begin());
}
return 0;
}
結果
a:hello b:world