Compartir a través de


¿Qué es un objeto CArchive?

Un objeto de CArchive proporciona un mecanismo tipo- seguro de almacenamiento en búfer para escribir o leer objetos serializables a o desde un objeto de CFile . El objeto de CFile representa normalmente un archivo de disco; sin embargo, también puede ser un archivo de memoria (objeto deCSharedFile ), quizás representa el portapapeles.

Un objeto determinado de CArchive almacena (las escrituras, serializan) datos o carga (lee, deserializar) datos, pero no ambos. La duración de un objeto de CArchive se limita a un paso a través de objetos de escribir en un archivo o de objetos de lectura de un archivo. Así, dos objetos sucesivamente creados de CArchive se requieren para serializar datos en un archivo y después para deserializarlos posteriores del archivo.

Cuando un archivo almacena objetos en un archivo, el archivo asocia el nombre de CRuntimeClass a objetos. A continuación, cuando otro archivo carga objetos de un archivo de mapa, CObject- objetos derivados dinámicamente se vuelven a crear basándose en CRuntimeClass de los objetos. Un objeto determinado puede hacer referencia a más de una vez mientras está escrito en el archivo por el archivo que almacena. El archivo de carga, sin embargo, reconstruirá el objeto solo una vez. Los detalles sobre cómo un archivo asocia la información de CRuntimeClass a objetos y vuelve a crear objetos, teniendo en cuenta varias referencias posibles, se describen en Nota técnica 2.

Mientras los datos se serializa en un archivo, el archivo acumula los datos hasta que el búfer esté completo. El archivo escribe el búfer al objeto de CFile designado por el objeto de CArchive . De igual forma, cuando lea los datos de un archivo, lee los datos del archivo en el búfer y después del búfer al objeto deserializado. Este búfer reduce el número de veces que un disco duro se lee físicamente, lo mejora el rendimiento de la aplicación.

Vea también

Conceptos

Serialización: Serializar un objeto