CArchive::SetStoreParams
Use SetStoreParams ao armazenar um grande número de CObject-derivado objetos em um arquivar.
void SetStoreParams(
UINT nHashSize = 2053,
UINT nBlockSize = 128
);
Parâmetros
nHashSize
Mapeia o dimensionar da tabela hash para o ponteiro de interface.Deve ser um número primo.nBlockSize
Especifica a granularidade de alocação de memória para estender os parâmetros.Deve ser uma potência de 2 para obter o melhor desempenho.
Comentários
SetStoreParams permite que você conjunto o dimensionar de tabela de hash e o dimensionar do bloco do MAP usado para identificar objetos exclusivos durante o processo de serialização.
Você não deve telefonar SetStoreParams Após todos os objetos são armazenados ou depois MapObject or WriteObject is telefonared.
Exemplo
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
}
}
Requisitos
Cabeçalho: afx.h