IAtlStringMgr, classe
Cette classe représente l’interface d’un CStringT
gestionnaire de mémoire.
Syntaxe
__interface IAtlStringMgr
Membres
Méthodes
Nom | Description |
---|---|
Allouer | Appelez cette méthode pour allouer une nouvelle structure de données de chaîne. |
Cloner | Appelez cette méthode pour retourner un pointeur vers un nouveau gestionnaire de chaînes à utiliser avec une autre instance de CSimpleStringT . |
Gratuit | Appelez cette méthode pour libérer une structure de données de chaîne. |
GetNilString | Retourne un pointeur vers l’objet CStringData utilisé par des objets de chaîne vides. |
Réaffecter | Appelez cette méthode pour réallouer une structure de données de chaîne. |
Notes
Cette interface gère la mémoire utilisée par les classes de chaîne indépendantes de MFC ; tels que CSimpleStringT, CStringT et CFixedStringT.
Vous pouvez également utiliser cette classe pour implémenter un gestionnaire de mémoire personnalisé pour votre classe de chaîne personnalisée. Pour plus d’informations, consultez Gestion de la mémoire et CStringT.
Spécifications
En-tête : atlsimpstr.h
IAtlStringMgr ::Allocate
Alloue une nouvelle structure de données de chaîne.
CStringData* Allocate(int nAllocLength,int nCharSize) throw();
Paramètres
nAllocLength
Nombre de caractères dans le nouveau bloc de mémoire.
nCharSize
Taille (en octets) du type de caractère utilisé par le gestionnaire de chaînes.
Valeur de retour
Retourne un pointeur vers le bloc de mémoire nouvellement alloué.
Remarque
Ne signalez pas une allocation ayant échoué en lève une exception. Au lieu de cela, une allocation ayant échoué doit être signalée en retournant NULL.
Notes
Appelez IAtlStringMgr ::Free ou IAtlStringMgr ::ReAllocate pour libérer la mémoire allouée par cette méthode.
Remarque
Pour obtenir des exemples d’utilisation, consultez Gestion de la mémoire et CStringT.
IAtlStringMgr ::Clone
Retourne un pointeur vers un nouveau gestionnaire de chaînes à utiliser avec une autre instance de CSimpleStringT
.
IAtlStringMgr* Clone() throw();
Valeur de retour
Retourne une copie de l'objet IAtlStringMgr
.
Notes
Communément appelé par l’infrastructure lorsqu’un gestionnaire de chaînes est nécessaire pour une nouvelle chaîne. Dans la plupart des cas, le this
pointeur est retourné.
Toutefois, si le gestionnaire de mémoire ne prend pas en charge l’utilisation par plusieurs instances de CSimpleStringT
, un pointeur vers un gestionnaire de chaînes partagé doit être retourné.
Remarque
Pour obtenir des exemples d’utilisation, consultez Gestion de la mémoire et CStringT.
IAtlStringMgr ::Free
Libère une structure de données de chaîne.
void Free(CStringData* pData) throw();
Paramètres
pData
Pointeur vers le bloc de mémoire à libérer.
Notes
Libère le bloc de mémoire spécifié précédemment alloué par Allocation ou Réallouer.
Remarque
Pour obtenir des exemples d’utilisation, consultez Gestion de la mémoire et CStringT.
IAtlStringMgr ::GetNilString
Retourne un pointeur vers une structure de données de chaîne pour une chaîne vide.
CStringData* GetNilString() throw();
Valeur de retour
Pointeur vers l’objet CStringData
utilisé pour représenter une chaîne vide.
Notes
Appelez cette fonction pour retourner une représentation d’une chaîne vide.
Remarque
Lors de l’implémentation d’un gestionnaire de chaînes personnalisé, cette fonction ne doit jamais échouer. Pour ce faire, vous pouvez incorporer une instance de CNilStringData
la classe de gestionnaire de chaînes et renvoyer un pointeur vers cette instance.
Remarque
Pour obtenir des exemples d’utilisation, consultez Gestion de la mémoire et CStringT.
IAtlStringMgr ::Reallocate
Réalloue une structure de données de chaîne.
CStringData* Reallocate(
CStringData* pData,
int nAllocLength,
int nCharSize) throw();
Paramètres
pData
Pointeur vers la mémoire précédemment allouée par ce gestionnaire de mémoire.
nAllocLength
Nombre de caractères dans le nouveau bloc de mémoire.
nCharSize
Taille (en octets) du type de caractère utilisé par le gestionnaire de chaînes.
Valeur de retour
Retourne un pointeur vers le début du bloc de mémoire nouvellement alloué.
Notes
Appelez cette fonction pour redimensionner le bloc de mémoire existant spécifié par pData.
Appelez IAtlStringMgr ::Free pour libérer la mémoire allouée par cette méthode.
Remarque
Pour obtenir des exemples d’utilisation, consultez Gestion de la mémoire et CStringT.