Sdílet prostřednictvím


Co je objekt CArchive

Objekt CArchive poskytuje mechanismus ukládání do vyrovnávací paměti bezpečného typu pro zápis nebo čtení serializovatelných objektů do nebo z objektu CFile . Obvykle objekt CFile představuje diskový soubor, ale může to být také paměťový soubor (CSharedFile objekt), například představující schránku.

Daný CArchive objekt buď ukládá (zapisuje, serializuje) data, nebo načte (čtení, deserializuje) data, ale nikdy obojí. Životnost objektu CArchive je omezená na jeden průchod zápisem objektů do souboru nebo čtení objektů ze souboru. Proto jsou k serializaci dat do souboru vyžadovány dva postupně vytvořené CArchive objekty a pak je deserializovat zpět ze souboru.

Když archiv ukládá objekty do souboru, archiv připojí CRuntimeClass název k objektům. Když pak další archiv načte objekty ze souboru do paměti, CObject-odvozené objekty se dynamicky rekonstruují na CRuntimeClass základě objektů. Daný objekt může být odkazován více než jednou, protože je zapsán do souboru uložením archivu. Archiv načítání však objekt rekonstruuje pouze jednou. Podrobnosti o tom, jak archiv připojuje CRuntimeClass informace k objektům a rekonstruuje objekty s ohledem na možné odkazy, jsou popsány v technické poznámce 2.

Vzhledem k tomu, že jsou data serializována do archivu, archiv shromažďuje data, dokud nebude jeho vyrovnávací paměť plná. Pak archiv zapíše svou vyrovnávací paměť do objektu CFile , na který CArchive odkazuje objekt. Podobně při čtení dat z archivu načte data ze souboru do vyrovnávací paměti a pak z vyrovnávací paměti do deserializovaného objektu. Toto ukládání do vyrovnávací paměti snižuje počet fyzických čtení pevného disku, čímž se zlepší výkon vaší aplikace.

Viz také

Serializace: Serializace objektu