Gestion de la mémoire avec CStringT
La classe CStringT est une classe de modèle utilisée pour manipuler des chaînes de caractères de longueur variable. La mémoire de conservation de ces chaînes est allouée et libérée par le biais d’un objet de gestionnaire de chaînes, associée à chaque instance de CStringT
. MFC et ATL fournissent des instanciations par défaut de CStringT
, appelées CString
, CStringA
et CStringW
, qui manipulent des chaînes de différents types de caractères. Ces types de caractères sont de type TCHAR, char
et wchar_t
, respectivement. Ces types de chaînes par défaut utilisent un gestionnaire de chaînes qui alloue de la mémoire à partir du tas de processus (dans ATL) ou du tas CRT (dans MFC). Pour les applications classiques, ce schéma d’allocation de mémoire est suffisant. Toutefois, pour le code qui utilise intensivement des chaînes (ou du code multithread), les gestionnaires de mémoire par défaut peuvent ne pas fonctionner de manière optimale. Cette rubrique explique comment remplacer le comportement de gestion de la mémoire par défaut, CStringT
en créant des allocateurs spécifiquement optimisés pour la tâche à la main.
Implémentation d’un gestionnaire de chaînes personnalisé (méthode élémentaire)
Implémentation d’un gestionnaire de chaînes personnalisé (méthode avancée)
CFixedStringT : exemple de gestionnaire de chaînes personnalisé