Classe IAtlStringMgr
Essa classe representa a interface para um gerenciador de memória de CStringT
.
Sintaxe
__interface IAtlStringMgr
Membros
Métodos
Nome | Descrição |
---|---|
Allocate | Chame esse método para alocar uma nova estrutura de dados de cadeia de caracteres. |
Clonar | Chame esse método para retornar um ponteiro para um novo gerenciador de cadeias de caracteres para uso com outra instância de CSimpleStringT . |
Gratuito | Chame esse método para liberar uma estrutura de dados de cadeia de caracteres. |
GetNilString | Retorna um ponteiro para o objeto CStringData usado por objetos de cadeia de caracteres vazios. |
Reallocate | Chame esse método para realocar uma estrutura de dados de cadeia de caracteres. |
Comentários
Essa interface gerencia a memória usada pelas classes de cadeia de caracteres independentes do MFC; como CSimpleStringT, CStringT e CFixedStringT.
Você também pode usar essa classe para implementar um gerenciador de memória personalizado para sua classe de cadeia de caracteres personalizada. Para saber mais, confira Gerenciamento de memória e CStringT.
Requisitos
Cabeçalho: atlsimpstr.h
IAtlStringMgr::Allocate
Aloca uma nova estrutura de dados de cadeia de caracteres.
CStringData* Allocate(int nAllocLength,int nCharSize) throw();
Parâmetros
nAllocLength
O número de caracteres no novo bloco de memória.
nCharSize
O tamanho (em bytes) do tipo de caractere usado pelo gerenciador de cadeias de caracteres.
Valor de retorno
Retorna um ponteiro para o bloco de memória recém-alocado.
Observação
Não sinalize uma alocação com falha lançando uma exceção. Em vez disso, sinalize-a retornando NULL.
Comentários
Chame IAtlStringMgr::Free ou IAtlStringMgr::ReAllocate para liberar a memória alocada por esse método.
Observação
Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.
IAtlStringMgr::Clone
Retorna um ponteiro para um novo gerenciador de cadeias de caracteres para uso com outra instância de CSimpleStringT
.
IAtlStringMgr* Clone() throw();
Valor de retorno
Retorna uma cópia do objeto IAtlStringMgr
.
Comentários
Normalmente chamado pela estrutura quando um gerenciador de cadeias de caracteres é necessário para uma nova cadeia de caracteres. Na maioria dos casos, o ponteiro this
é retornado.
No entanto, se o gerenciador de memória não for compatível com o uso por várias instâncias de CSimpleStringT
, um ponteiro para um gerenciador de cadeias de caracteres compartilhável deverá ser retornado.
Observação
Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.
IAtlStringMgr::Free
Libera uma estrutura de dados de cadeia de caracteres.
void Free(CStringData* pData) throw();
Parâmetros
pData
Um ponteiro para o bloco de memória a ser liberado.
Comentários
Libera o bloco de memória especificado anteriormente alocado por Allocate ou Reallocate.
Observação
Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.
IAtlStringMgr::GetNilString
Retorna um ponteiro para uma estrutura de dados de cadeia de caracteres de uma cadeia de caracteres vazia.
CStringData* GetNilString() throw();
Valor de retorno
Um ponteiro para o objeto CStringData
usado para representar uma cadeia de caracteres vazia.
Comentários
Chame essa função para retornar uma representação de uma cadeia de caracteres vazia.
Observação
Ao implementar um gerenciador de cadeias de caracteres personalizado, essa função nunca deve falhar. Você pode garantir isso inserindo uma instância de CNilStringData
na classe do gerenciador de cadeias de caracteres e retornar um ponteiro para essa instância.
Observação
Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.
IAtlStringMgr::Reallocate
Realoca uma estrutura de dados de cadeia de caracteres.
CStringData* Reallocate(
CStringData* pData,
int nAllocLength,
int nCharSize) throw();
Parâmetros
pData
Ponteiro para a memória alocada anteriormente por esse gerenciador de memória.
nAllocLength
O número de caracteres no novo bloco de memória.
nCharSize
O tamanho (em bytes) do tipo de caractere usado pelo gerenciador de cadeias de caracteres.
Valor de retorno
Retorna um ponteiro para o início do bloco de memória recém-alocado.
Comentários
Chame essa função para redimensionar o bloco de memória existente especificado por pData.
Chame IAtlStringMgr::Free para liberar a memória alocada por esse método.
Observação
Para obter exemplos de uso, confira Gerenciamento de memória e CStringT.