Was ist ein CArchive-Objekt

Ein CArchive-Objekt stellt einen typsicheren Mechanismus zur Pufferung für das Schreiben oder Lesen von serialisierbaren Objekten in einen oder aus einem CFile-Objekt bereit.Normalerweise stellt das CFile-Objekt eine Datenträgerdatei dar. Allerdings kann es sich um eine Arbeitsspeicherdatei CSharedFile Object) sein (und möglicherweise die Zwischenablage darstellen.

Ein angegebenes CArchive-Objekt speichert (serialisiert), schreibt Daten oder lädt Daten (liest, deserialisiert), aber nie beide.Die Lebensdauer eines CArchive-Objekts wird mit einem Durchlauf durch Schreiben oder Lesen einer Datei Objekte werden aus einer Datei beschränkt.Daher sind zwei nacheinander erstellt hat CArchive-Objekte erforderlich, um Daten in einer Datei zu serialisieren und zu deserialisieren dann wieder aus der Datei.

Wenn ein Archiv Objekte in einer Datei speichert, fügt das Archiv den CRuntimeClass Namen auf Objekte an.Wenn ein anderes Archiv Objekte aus einer Datei in den Arbeitsspeicher lädt, CObject abgeleitete Objekte werden dynamisch auf Grundlage CRuntimeClass der Objekte neu erstellt.Ein angegebenes Objekt kann mehrmals verwiesen werden, während es vom speichernde Archiv in die Datei geschrieben ist.Das Laden archiv erstellt das Objekt jedoch nur einmal wieder her.Die Details dazu, wie ein Archiv CRuntimeClass Informationen zu Objekten anfügt und Objekte neu erstellt, mögliche berücksichtigend mehrere Verweise werden in Technischer Hinweis 2 beschrieben.

Während Daten an ein Archiv serialisiert wird, sammelt das Archiv die Daten, bis dessen Puffer voll ist.Anschließend schreibt das Archiv den Puffer in den CFile-Objekt, das von dem CArchive-Objekt dargestellt wird.Ebenso wie Sie Lesen von Daten aus einem Archiv, liest Daten aus der Datei in den Puffer und dann aus dem Puffer im deserialisierten Objekt.Dieser Pufferung reduziert die Häufigkeit, mit der eine Festplatte physisch gelesen wird und somit verbessert die Leistung der Anwendung.

Siehe auch

Konzepte

Serialisierung: Serialisieren eines Objekts