Serialisierung von C++ Klassen mit möglichst wenig Code

Angenommen, du schreibst ein GUI-Programm – zum Beispiel in Qt – und du hast keine Lust, dessen Arbeitsordner und andere Einstellungen, die sich jedes Mal, wenn du es öffnest, stark ändern, ständig neu zu setzen. Die Lösung liegt auf der Hand: Speicher einige der Einstellungen auf der Festplatte. Dazu ist es erforderlich, Memory Dumps zu erstellen (die plattform-abhängig und schwierig zu debuggen und manuell zu bearbeiten sind) oder einen Parser zu schreiben (was einige Zeit dauert). Ich hatte dieses Problem mehrmals und die Lösung meistens immer wieder in neue Programme kopiert. Dann entschied ich, dass ich genug davon hatte und dass es an der Zeit war, eine kleine Bibliothek dafür zu schreiben. Eine, die so einfach wie möglich zu bedienen ist. Das Design Der bequemste Weg, das zu erreichen, wäre es, die Klasse als serialisierbar zu deklarieren und dann durch etwas auf die Anwesenheit von Klassenmitgliedern prüfen und die Save- und Load-Methoden entsprechend generieren zu lassen. Das könnte in Python geschehen, indem man den Inhalt von Klassen überprüft und alles, was serialisierbar aussieht, serialisiert. Python macht jedoch die Verkapselung kaputt, um das zu ermöglichen, was ein etwas zu großes Opfer darstellt, und Pythons Leistung ist selbst gegenüber der vieler anderer … Serialisierung von C++ Klassen mit möglichst wenig Code weiterlesen