Condividi tramite


Classe IAtlStringMgr

Questa classe rappresenta l'interfaccia di una CStringT gestione della memoria.

Sintassi

__interface IAtlStringMgr

Membri

Metodi

Nome Descrizione
Stanziare Chiamare questo metodo per allocare una nuova struttura di dati stringa.
Clona Chiamare questo metodo per restituire un puntatore a un nuovo gestore di stringhe da usare con un'altra istanza di CSimpleStringT.
Gratuito Chiamare questo metodo per liberare una struttura di dati stringa.
GetNilString Restituisce un puntatore all'oggetto CStringData utilizzato da oggetti stringa vuoti.
Ridistribuire Chiamare questo metodo per riallocare una struttura di dati stringa.

Osservazioni:

Questa interfaccia gestisce la memoria usata dalle classi di stringhe indipendenti da MFC; ad esempio CSimpleStringT, CStringT e CFixedStringT.

È anche possibile usare questa classe per implementare un gestore di memoria personalizzato per la classe stringa personalizzata. Per altre informazioni, vedere Gestione della memoria e CStringT.

Requisiti

Intestazione: atlsimpstr.h

IAtlStringMgr::Allocate

Alloca una nuova struttura di dati stringa.

CStringData* Allocate(int nAllocLength,int nCharSize) throw();

Parametri

nAllocLength
Numero di caratteri nel nuovo blocco di memoria.

nCharSize
Dimensioni (in byte) del tipo di carattere utilizzato dalla gestione stringhe.

Valore restituito

Restituisce un puntatore all'inizio del blocco di memoria appena allocata.

Nota

Non segnalare un'allocazione non riuscita generando un'eccezione. È invece necessario segnalare un'allocazione non riuscita restituendo NULL.

Osservazioni:

Chiama IAtlStringMgr::Free o IAtlStringMgr::ReAllocate per liberare la memoria allocata da questo metodo.

Nota

Per esempi di utilizzo, vedere Gestione della memoria e CStringT.

IAtlStringMgr::Clone

Restituisce un puntatore a una nuova gestione stringhe da utilizzare con un'altra istanza di CSimpleStringT.

IAtlStringMgr* Clone() throw();

Valore restituito

Restituisce una copia dell'oggetto IAtlStringMgr.

Osservazioni:

Comunemente chiamato dal framework quando è necessario un gestore di stringhe per una nuova stringa. Nella maggior parte dei casi, viene restituito il this puntatore.

Tuttavia, se gestione memoria non supporta l'uso da parte di più istanze di CSimpleStringT, deve essere restituito un puntatore a una gestione stringhe condivisibile.

Nota

Per esempi di utilizzo, vedere Gestione della memoria e CStringT.

IAtlStringMgr::Free

Libera una struttura di dati stringa.

void Free(CStringData* pData) throw();

Parametri

pData
Puntatore al blocco di memoria da liberare.

Osservazioni:

Libera il blocco di memoria specificato allocato in precedenza da Allocate o Reallocate.

Nota

Per esempi di utilizzo, vedere Gestione della memoria e CStringT.

IAtlStringMgr::GetNilString

Restituisce un puntatore a una struttura di dati stringa per una stringa vuota.

CStringData* GetNilString() throw();

Valore restituito

Puntatore all'oggetto CStringData utilizzato per rappresentare una stringa vuota.

Osservazioni:

Chiamare questa funzione per restituire una rappresentazione di una stringa vuota.

Nota

Quando si implementa una gestione di stringhe personalizzata, questa funzione non deve mai avere esito negativo. È possibile verificarlo incorporando un'istanza di CNilStringData nella classe di gestione delle stringhe e restituendo un puntatore a tale istanza.

Nota

Per esempi di utilizzo, vedere Gestione della memoria e CStringT.

IAtlStringMgr::Reallocate

Rialloca una struttura di dati stringa.

CStringData* Reallocate(
    CStringData* pData,
    int nAllocLength,
    int nCharSize) throw();

Parametri

pData
Puntatore alla memoria allocata in precedenza da questo gestore di memoria.

nAllocLength
Numero di caratteri nel nuovo blocco di memoria.

nCharSize
Dimensioni (in byte) del tipo di carattere utilizzato dalla gestione stringhe.

Valore restituito

Restituisce un puntatore all'inizio del blocco di memoria allocata.

Osservazioni:

Chiamare questa funzione per ridimensionare il blocco di memoria esistente specificato da pData.

Chiamare IAtlStringMgr::Free per liberare la memoria allocata da questo metodo.

Nota

Per esempi di utilizzo, vedere Gestione della memoria e CStringT.

Vedi anche

Grafico della gerarchia
Classi condivise ATL/MFC