CArchive::SetStoreParams

在存储大量的 CObject-将存档时,的派生对象使用 SetStoreParams

void SetStoreParams(
   UINT nHashSize = 2053,
   UINT nBlockSize = 128 
);

参数

  • nHashSize
    哈希表的大小接口指针的映射。 应是质数。

  • nBlockSize
    用于扩展参数指定内存分配粒度。 应为2的次幂最佳性能。

备注

SetStoreParams 允许您设置哈希表的大小,并用于映射的块大小在序列化时标识单个对象的过程。

不能调用 SetStoreParams,在存储后所有对象,或者在 MapObjectWriteObject 后调用。

示例

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

请参见

参考

CArchive选件类

层次结构图

CArchive::SetLoadParams