MFC里的序列化 Serialize(CArchive& ar) 快捷大法

Show you the Code!整类所有对象序列化

void 类名::Serialize(CArchive& ar)
{
	//CObject::Serialize(ar);
	if (ar.IsStoring())
	{
		//序列化

		ar.Write((LPVOID)(((UINT)this) + 4), sizeof(类名) - 4);
	}
	else
	{
		//反序列化

		ar.Read((LPVOID)(((UINT)this) + 4), sizeof(类名) - 4);
	}
}

  由于肯定会继承CObject,所以this的前4个字节是虚函数表,不需要写入。剩下的全写到ar里就行了。

至于Serialize那个版本管理...还不如自己写。

原文地址:https://www.cnblogs.com/wqh21/p/4356923.html