對象序列化

看—>http://msdn.microsoft.com/zh-cn/library/cc468163%28v=VS.71%29.aspx

 

 

 

 

本文解釋 Microsoft 基礎類庫 (MFC) 中提供的序列化機制,該機制使對象可以在程序運行之間保持。

序列化是指將對象寫入永久性存儲媒體(如磁盤文件)或從其中讀取對象的進程。 MFC 對 CObject 類中的序列化提供內置支持。因此,所有從 CObject 派生的類都可利用 CObject 的序列化協議。

序列化的基本思想是對象應能將其當前狀態(通常由該對象的成員變量指示)寫入永久性存儲中。以後,通過從存儲中讀取對象狀 態或反序列化對象狀態,可以重新創建該對象。序列化處理序列化對象時使用的對象指針和對象循環引用的所有詳細資料。關鍵之處在於對象本身負責讀寫其自身狀 態。因此,對於可序列化的類,必須實現基本的序列化操作。正如“序列化”文章組中所顯示的那樣,很容易將該功能添加到類中。

MFC 將 CArchive 類的對象用作將被序列化的對象和存儲媒體之間的中介物。該對象始終與 CFile 對象相關聯,它從 CFile 對象獲得序列化所需的信息,包括文件名和請求的操作是讀取還是寫入。執行序列化操作的對象可在不考慮存儲媒體本質的情況下使用 CArchive 對象。

CArchive 對象使用重載輸出運算符 (<< ) 和輸入運算符 (>> ) 來執行讀寫操作。有關更多信息,請參見“序列化:序列化對象”文章中的通 過存檔存儲和加載 CObjects

注意    請 不要將 CArchive 類與通用 iostream 類混淆,iostream 類只用于格式化的文本。而 CArchive 類則用於二進制格式的序列化對象。

如果願意,可以不使用 MFC 序列化而爲永久性數據存儲創建自己的機制。您將需要在用戶的命令處重寫啓動序列化的類成員函數。請參見 ID_FILE_OPENID_FILE_SAVEID_FILE_SAVE_AS 標準命令的技 術說明 22 中的討論。

下列文章介紹了序列化所需的兩個主要任務:

序 列化:序列化與數據庫輸入/輸出的對比 一文描述了序列化在數據庫應用程序中何時是適當的輸入/輸出技術。

請參見

MFC | 一 般的 MFC 主題 |

| | |
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章