Si vous voulez le faire manuellement, de la même manière que vous persistez toute autre structure de récipient, écrire les pièces individuelles sur le disque:
outputFile.Write(thisMap.size());
for (map<...>::const_iterator i = thisMap.begin(); i != thisMap.end(); ++iMap)
{
outputFile.Write(i->first);
outputFile.Write(i->second);
}
et les lire puis de nouveau dans:
size_t mapSize = inputFile.Read();
for (size_t i = 0; i < mapSize; ++i)
{
keyType key = inputFile.Read();
valueType value = inputFile.Read();
thisMap[key] = value;
}
de toute évidence, vous aurez besoin de faire fonctionner les choses en fonction de votre type de carte et le fichier i/o bibliothèque.
Sinon, essayez boost serialization ou google's new serialization library.