Partager via


Qu'est-ce qu'un objet CArchive ?

Un CArchive objet fournit un mécanisme de mise en mémoire tampon de type sécurisé pour l’écriture ou la lecture d’objets sérialisables vers ou à partir d’un CFile objet. En règle générale, l’objet CFile représente un fichier disque ; toutefois, il peut également s’agir d’un fichier mémoire (CSharedFile objet), peut-être représentant le Presse-papiers.

Un objet donné CArchive stocke (écrit, sérialise) des données ou charge (lit, désérialise) des données, mais jamais les deux. La vie d’un CArchive objet est limitée à une transmission directe d’objets dans un fichier ou de lecture d’objets à partir d’un fichier. Par conséquent, deux objets créés CArchive successivement sont nécessaires pour sérialiser des données vers un fichier, puis le désérialiser à partir du fichier.

Lorsqu’une archive stocke des objets dans un fichier, l’archive attache le CRuntimeClass nom aux objets. Ensuite, lorsqu’une autre archive charge des objets d’un fichier en mémoire, les CObjectobjets dérivés sont reconstruits dynamiquement en fonction CRuntimeClass des objets. Un objet donné peut être référencé plusieurs fois, car il est écrit dans le fichier par l’archive de stockage. Toutefois, l’archive de chargement reconstruit l’objet une seule fois. Les détails sur la façon dont une archive attache des CRuntimeClass informations aux objets et reconstruit des objets, en tenant compte des références multiples possibles, sont décrits dans la Note technique 2.

À mesure que les données sont sérialisées dans une archive, l’archive accumule les données jusqu’à ce que sa mémoire tampon soit pleine. Ensuite, l’archive écrit sa mémoire tampon dans l’objet CFile pointé par l’objet CArchive . De même, lorsque vous lisez des données d’une archive, elle lit les données du fichier dans sa mémoire tampon, puis de la mémoire tampon à votre objet désérialisé. Cette mise en mémoire tampon réduit le nombre de fois où un disque dur est lu physiquement, ce qui améliore les performances de votre application.

Voir aussi

Sérialisation : sérialisation d’un objet