CArchive::SetStoreParams
在存储大量的 CObject-将存档时,的派生对象使用 SetStoreParams。
void SetStoreParams(
UINT nHashSize = 2053,
UINT nBlockSize = 128
);
参数
nHashSize
哈希表的大小接口指针的映射。 应是质数。nBlockSize
用于扩展参数指定内存分配粒度。 应为2的次幂最佳性能。
备注
SetStoreParams 允许您设置哈希表的大小,并用于映射的块大小在序列化时标识单个对象的过程。
不能调用 SetStoreParams,在存储后所有对象,或者在 MapObject 或 WriteObject 后调用。
示例
class CMyLargeDocument : public CDocument
{
public:
virtual void Serialize(CArchive& ar);
};
void CMyLargeDocument::Serialize(CArchive& ar)
{
if (ar.IsStoring())
ar.SetStoreParams(); // use large defaults
else
ar.SetLoadParams();
if (ar.IsStoring())
{
// code for storing CMyLargeDocument
}
else
{
// code for loading CMyLargeDocument
}
}
要求
Header: afx.h