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.