CArchive::SetStoreParams

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

参数:
nHashSize用于指针映射接口的哈希表的大小,必须是一个素数。
nBlockSize为扩展参数指定内存分配间隔。要获得最好的执行效果,应该是2的倍数。

说明:
当在一个归档文件中存储许多CObject派生对象时,使用SetStoreParams。
SetStoreParams允许设定哈希表的大小和映射的块的大小。映射用来在串行化的过程中标识唯一的对象。
在存储任何一个对象或调用MapObject或WriteObject之后,不需要调用SetStoreParams。

示例:
class CMyLargeDocument:public CDocument{...};
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
  }
}

请参阅:CArchive::SetLoadParams