Mapobject를 무효화 (const CObject * 주선 );
매개 변수
주선
저장 되는 개체에 대 한 상수 포인터。
주의
정말 파일에 serialize 되지 지도에 개체를 배치 하려면이 멤버 함수를 호출 하지만 그 하위 개체를 참조에 사용할 수 있습니다. 예를 들어, 문서를 serialize 하지 수 있지만 document.nbsp;의 일부인 항목을 serialize 할 것 MapObject를 호출 하 여 해당 항목 또는 하위 개체를 참조 하는 문서를 허용 합니다. 또한, 연속 된 하위 m_pDocument 다시 포인터 serialize 할 수 있습니다(&N).
저장 하 고 CArchive 개체에서 로드할 때 MapObject 를 호출할 수 있습니다. Serialization 및 deserialization 하는 동안 하지만 ReadObject달리 CArchive 개체에 의해 유지 관리 되는 내부 데이터 구조를 지정 된 개체를 추가 하는 MapObject 고 WriteObject, 그것은 호출 하지 않는 개체에 serialize。
예제
/ / MyDoc.h
/ / 문서 DECLARE_SERIAL 및 IMPLEMENT_SERIAL 있어야
CMyDocument 클래스: 공용 CDocument
{
CObList m_listOfSubItems;
nbsp;? ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
void CMyDocument::Serialize (CArchive & 아칸소)
{
경우 (ar.IsStoring())
{
/ / TODO: 여기에 저장 코드 추가
}
다른
{
/ / TODO: 여기 로드 코드 추가
}
아칸소입니다.MapObject(this);?
//serialize 하위 문서;
//they 그들의 m_pdoc을 serialize 할 수 있습니다.
//back 포인터
m_listOfSubItems.Serialize(ar);
}
//SubItem.h
CSubItem 클래스: 공용 CObject
{
공개:
CSubItem(CMyDocument * pDoc)
{m_pDoc = pDoc;}
/ / 문서 소유를 포인터를 다시
CMyDocument * m_pDoc;
WORD m_i; / / 기타 데이터 항목
가상 void Serialize (CArchive & 아칸소);
};
//SubItem.cpp
void CSubItem::Serialize (CArchive & 아칸소)
{
경우 (ar.IsStoring())
{
/ / 참조 //to "매핑된" 문서 포인터 serialize
아칸소 << m_pDoc;?
아칸소 << m_i;
}
다른
{
/ / //the "매핑된" 문서 포인터에 대 한 참조를 로드 됩니다
아칸소 >> m_pDoc;
아칸소 >> m_i;
}
}
CArchive 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)
참고 항목nbsp;CArchive::ReadObject, CArchive::WriteObject(&N)