Udostępnij przez


Co to jest obiekt CArchive

Obiekt CArchive zapewnia mechanizm buforowania bezpiecznego typu do zapisywania lub odczytywania obiektów z możliwością serializacji do lub z CFile obiektu. Zazwyczaj obiekt CFile reprezentuje plik na dysku; jednak może to być również plik w pamięci, na przykład obiekt CSharedFile reprezentujący Schowek.

CArchive dany obiekt zapisuje (serializuje) dane lub odczytuje (deserializuje) dane, ale nigdy nie oba te działania. Żywotność obiektu CArchive jest ograniczona do jednego cyklu zapisywania obiektów do pliku lub odczytywania ich z pliku. W związku z tym dwa kolejno utworzone CArchive obiekty są wymagane do serializacji danych do pliku, a następnie deserializacji danych z pliku.

Gdy archiwum przechowuje obiekty w pliku, archiwum dołącza CRuntimeClass nazwę do obiektów. Następnie, gdy inne archiwum ładuje obiekty z pliku do pamięci, CObjectobiekty pochodne są dynamicznie rekonstruowane na CRuntimeClass podstawie obiektów. Dany obiekt może być referencjonowany więcej niż raz, ponieważ jest zapisywany w pliku przez archiwizujący magazyn. Archiwum ładowania zrekonstruuje jednak obiekt tylko raz. Szczegółowe informacje o sposobie dołączania CRuntimeClass informacji do obiektów i rekonstruowania obiektów, biorąc pod uwagę możliwość wielokrotnych odwołań, są opisane w Dokumencie Technicznym nr 2.

Ponieważ dane są serializowane do archiwum, archiwum gromadzi dane do momentu zapełnienia buforu. Następnie archiwum zapisuje bufor do obiektu CFile, na który wskazuje obiekt CArchive. Podobnie podczas odczytywania danych z archiwum odczytuje dane z pliku do jego buforu, a następnie z buforu do obiektu deserializowanego. Buforowanie zmniejsza liczbę operacji odczytu dysku twardego, co zwiększa wydajność aplikacji.

Zobacz także

Serializacja: serializowanie obiektu