Persistenz von std :: map in C ++

8

Kennen Sie einen einfachen oder einfachen Weg, um ein Map-Objekt (aus der STL-Bibliothek) dauerhaft zu machen (dh es in eine Datei zu schreiben), so dass Sie seinen Zustand später wiederherstellen können, wenn das Programm später ausgeführt wird?

Danke für Ihre Hilfe

    
lurks 26.09.2008, 03:47
quelle

3 Antworten

11

Ich glaube, dass die Boost-Serialisierung -Bibliothek serialisiert werden kann :: map, aber die Standardbibliothek selbst bietet keine Möglichkeit. Serialisierung ist eine großartige Bibliothek mit vielen Funktionen und ist einfach zu verwenden und auf Ihre eigenen Typen zu erweitern.

    
coppro 26.09.2008, 03:51
quelle
10

Wenn Sie es manuell tun möchten, schreiben Sie die einzelnen Teile auf dieselbe Weise aus, wie Sie eine andere Containerstruktur beibehalten würden:

%Vor%

und lies sie dann zurück:

%Vor%

Offensichtlich müssen Sie die Dinge basierend auf Ihrem Kartentyp und der Datei-E / A-Bibliothek funktionieren lassen.

Andernfalls versuchen Sie, die Boost-Serialisierung zu aktivieren, oder google's neue Serialisierungsbibliothek .

    
Eclipse 26.09.2008 03:55
quelle
2

Die Antwort ist Serialisierung. Besonderheiten hängen von Ihren Bedürfnissen und Ihrer Umgebung ab. Für den Anfang, überprüfen Boost Serialization-Bibliothek: Ссылка

    
sudarkoff 26.09.2008 03:54
quelle

Tags und Links