Definizione di oggetto CArchive

Un CArchive oggetto fornisce un meccanismo di buffering indipendente dai tipi per la scrittura o la lettura di oggetti serializzabili da o verso un CFile oggetto . In genere l'oggetto CFile rappresenta un file su disco, ma può anche essere un file di memoria (CSharedFile oggetto ), forse rappresenta gli Appunti.

Un determinato CArchive oggetto archivia (scrive, serializza) dati o carica (letture, deserializza) dati, ma non entrambi. La durata di un CArchive oggetto è limitata a un passaggio attraverso la scrittura di oggetti in un file o la lettura di oggetti da un file. Pertanto, due oggetti creati CArchive successivamente sono necessari per serializzare i dati in un file e quindi deserializzarli dal file.

Quando un archivio archivia gli oggetti in un file, l'archivio allega il CRuntimeClass nome agli oggetti. Quindi, quando un altro archivio carica oggetti da un file alla memoria, gli CObjectoggetti derivati da vengono ricostruiti dinamicamente in base all'oggetto CRuntimeClass degli oggetti . È possibile fare riferimento a un determinato oggetto più volte perché viene scritto nel file dall'archivio di archiviazione. L'archivio di caricamento, tuttavia, ricostruirà l'oggetto una sola volta. I dettagli su come un archivio allega informazioni CRuntimeClass agli oggetti e ricostruisce gli oggetti, tenendo conto dei possibili riferimenti, sono descritti nella Nota tecnica 2.

Man mano che i dati vengono serializzati in un archivio, l'archivio accumula i dati fino a quando il buffer non è pieno. L'archivio scrive quindi il buffer nell'oggetto CFile a cui punta l'oggetto CArchive . Analogamente, durante la lettura dei dati da un archivio, legge i dati dal file al relativo buffer e quindi dal buffer all'oggetto deserializzato. Questo buffering riduce il numero di volte in cui un disco rigido viene letto fisicamente, migliorando così le prestazioni dell'applicazione.

Vedi anche

Serializzazione: serializzazione di un oggetto