c++序列化CArchive類的學習小結

來源:互聯網
上載者:User

1.CArchive類沒有基類
2.CArchive類是實現對象持久化的方法,它可以把記憶體中的對象持久化到本地磁碟中去,也可以從本地磁碟中讀取資料在記憶體在構建對象
3.CArchive類和輸入輸出資料流類似。輸入輸出資料流處理是acii字元序列,而CArchive類是以一種高效的非冗餘的方式來處理二進位對象資料。
4.使用CArchive類之前,必須要有一個CFile檔案對象,同時還必須保證CArchive的載入和儲存操作必須是在CFile處於開啟的狀態。
5.CArchive類重載的>>和<<可以很方便的支援基礎資料型別 (Elementary Data Type)和從cobject派生出的類型的相關操作。
6.CArchive類除了>>和<<操作之外,還可以使用read和write來操作行資料。
7.CArchive類的建構函式有四個參數
  CFile* 目標檔案
  Mode  操作方式,讀或寫
  buffersize 指定buffer大小,預設是4m 
  buffer*    指定buffer指標,預設是從本地堆中取得一塊記憶體空間,操作結束後自動釋放。如果是使用者自己定義的buffer指標,則需要使用者手動銷毀這個buffer。
8.自訂序列化類的五個步驟:
  (1)繼承CObject類
  (2)重載CObject類的Serialize()成員函數
  (3)在類的標頭檔中用serialize的宏聲明:DECLARE_SERIAL(yourClass)
  (4)定義一個無參數的建構函式
  (5)在類檔案中使用實現serialize宏聲明:IMPLEMENT_SERIAL(yourClass,CObject,版本號碼)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.