Compartir a través de


Qué es un objeto CArchive

Un objeto CArchive proporciona un mecanismo de almacenamiento en búfer con seguridad de tipos para escribir o leer objetos serializables en un objeto CFile o desde este. Normalmente, el CFile objeto representa un archivo de disco; sin embargo, también puede ser un archivo de memoria (CSharedFile objeto), quizás representando el Portapapeles.

Un objeto determinado CArchive almacena datos (escribe, serializa) o carga datos (lee, deserializa), pero nunca ambas. La vida útil de un CArchive objeto se limita a un paso por la escritura de objetos en un archivo o la lectura de objetos de un archivo. Por lo tanto, se requieren dos objetos creados CArchive sucesivamente para serializar datos en un archivo y, a continuación, deserializarlos de nuevo desde el archivo.

Cuando un archivo almacena objetos en un archivo, el archivo adjunta el CRuntimeClass nombre a los objetos . A continuación, cuando otro archivo carga objetos de un archivo a la memoria, los objetos derivados de CObject se reconstruyen dinámicamente en función del valor CRuntimeClass de los objetos. Un objeto determinado puede ser referenciado más de una vez al ser escrito en el archivo por el archivo de almacenamiento. Sin embargo, el archivo de carga reconstruirá el objeto solo una vez. Los detalles sobre cómo un archivo adjunta CRuntimeClass información a objetos y reconstruye objetos, teniendo en cuenta posibles varias referencias, se describen en la Nota técnica 2.

A medida que los datos se serializan en un archivo, el archivo acumula los datos hasta que su búfer está lleno. A continuación, el archivo escribe su búfer en el objeto CFile al que apunta el objeto CArchive. De forma similar, a medida que lee datos de un archivo, lee los datos del archivo en su búfer y, a continuación, desde el búfer hasta el objeto deserializado. Este almacenamiento en búfer reduce el número de veces que se lee físicamente un disco duro, lo que mejora el rendimiento de la aplicación.

Consulte también

Serialización: serialización de un objeto