Если вы хотите сделать это вручную, так же, как при сохранении любой другой структуры контейнера, запишите отдельные части на диск:
outputFile.Write(thisMap.size());
for (map<...>::const_iterator i = thisMap.begin(); i != thisMap.end(); ++iMap)
{
outputFile.Write(i->first);
outputFile.Write(i->second);
}
и затем прочитайте их обратно:
size_t mapSize = inputFile.Read();
for (size_t i = 0; i < mapSize; ++i)
{
keyType key = inputFile.Read();
valueType value = inputFile.Read();
thisMap[key] = value;
}
Очевидно, вам нужно будет заставить все работать в зависимости от типа вашей карты и файловой библиотеки ввода / вывода.
В противном случае попробуйте повысить сериализацию или новую библиотеку Google для сериализации .