Ich bin ein Computerwissenschaftler, der mit einer großen Menge von Simulationsdaten arbeitet und oft finde ich mich beim Speichern / Laden von Daten in / von der Platte. Für einfache Aufgaben, wie einen Vektor, ist das normalerweise so einfach, wie Zahlen in eine Datei zu packen, und das war's.
Für komplexere Sachen, Lebensobjekte und so weiter, habe ich Mitgliedsfunktionen gespeichert / geladen. Nun, ich bin kein Informatiker , und daher sehe ich oft oft Terminologien auf SO, die ich einfach nicht verstehe (aber ich liebe es). Eine davon, auf die ich kürzlich gestoßen bin, ist das Thema der Serialisierung und der Boost.Serialization
-Bibliothek.
Was ich unter Serialisierung verstehe, ist einfach der Prozess der Umwandlung Ihrer Objekte in etwas, das von dist gespeichert / geladen werden kann oder über ein Netzwerk und dergleichen übertragen werden kann. Wenn ich bedenke, dass ich meine Objekte höchstens auf der / von der Festplatte speichern / laden muss, sollte ich aus den einfachen Lade- / Speicherfunktionen in Boost.Serialization
wechseln? Was würde Boost.Serialization
mir anders geben, als was ich bereits mache?
Diese Bibliothek berücksichtigt viele Details, die aus einer rein "anwendungsbezogenen" Perspektive nicht sehr offensichtlich sind.
Zum Beispiel, Datenportabilität WRT große / kleine numerische endianess, wies die Lebensdauer der Daten, strukturierte Container, Versionierung, nicht aufdringliche Erweiterungen und mehr . Darüber hinaus behandelt es die Interaktion mit anderen std oder Infrastrukturen und diktiert eine Art der Code-Strukturierung, die Sie mit einfacherer Codepflege belohnt. Sie finden gebrauchsfertige Serialisierer für viele (alle Standard & Boost?) Container.
Wenn Sie Ihre Daten mit anderen Personen teilen müssen, besteht die Möglichkeit, dass die Bezugnahme auf ein veröffentlichtes, verwaltetes und debuggtes Schema die Arbeit erheblich vereinfacht.
Tags und Links c++ serialization boost