MFC におけるシリアル化
この技術情報は、割り当てのオブジェクトでプログラムの実行の間で保持するために Microsoft Foundation Class ライブラリ (MFC)で提供されるシリアル化機構について説明します。
シリアル化とは、ディスク ファイルなどの永続ストレージ メディアから、または書き込みまたは読み取りのプロセス オブジェクトです。シリアル化は、プログラムの実行中または後で構造化データの状態 (C++ クラスまたは構造体など)は保持するする場合に適しています。MFC の割り当てによって提供されるシリアル化のオブジェクトを使用してファイルの操作を手動で実行する必要のユーザーを軽減標準と、一貫した方法で発生しない場合。
MFC は、クラス CObjectのシリアル化のための組み込みサポートを提供します。したがって、 CObject から派生したすべてのクラスは、 entity_CODECObject のシリアル化のプロトコルを利用できます。
シリアル化の基本的な知識は、オブジェクトが通常、メンバー変数の値で示される現在の状態を、作成できるようにする永続ストレージに示します。その後、オブジェクトは読み取りまたは非シリアル化することによってストレージからオブジェクトの状態を再作成できます。シリアル化は、オブジェクトをシリアル化すると、オブジェクト ポインターの詳細が用意されているオブジェクトへの循環参照を処理します。キー ポイントはオブジェクト自体が自身の状態を読み書きするための責任があります。したがって、シリアル化できるクラスでは、基本的なシリアル化操作を実行する必要があります。技術情報のシリアル化のグループに示すように、クラスにはこの機能を追加したりできます。
MFC は CArchive のクラスのオブジェクトをにシリアル化するオブジェクトとストレージ メディアの仲立ちメジャー使用します。このオブジェクトは、ファイル名を含むシリアル化に必要な情報を取得、およびかどうかが要求された操作には、読み取りまたは書き込み可能である CFile のオブジェクト常に関連付けられます。シリアル化操作を実行するオブジェクトはストレージ メディアの性質に関係なく CArchive のオブジェクトを使用できます。
CArchive のオブジェクトは書き込みと読み取り操作を実行するためにオーバーロードされた**<<(挿入)と抽出>>**()演算子を使用します。詳細については、技術情報のシリアル化の アーカイブによって保存と読み込みの CObjects を参照: オブジェクトのシリアル化。
[!メモ]
書式設定されたテキストのみを目的としている汎用の入出力ストリーム クラスと CArchive のクラスを混同しないようにしてください。CArchive のクラスはバイナリ形式のシリアル化されたオブジェクトの値です。
必要に応じてデータの永続ストレージの機能を独自に作成するように MFC のシリアル化を回避できます。ユーザーのコマンドで機能するクラス メンバーを初期シリアル化オーバーライドする必要があります。ID_FILE_OPEN、 ID_FILE_SAVEと ID_FILE_SAVE_AS の標準コマンドの テクニカル ノート 22 の説明を参照してください。
次の技術情報では、シリアル化に必要な 2 種類の主要タスクを処理します:
シリアル化により、データベース アプリケーションの適切な入出力手法ときに、技術情報 シリアル化: シリアル化とデータベースの入出力 について説明します。