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