Administración de memoria con CStringT
La clase CStringT es una clase de plantilla que se usa para manipular cadenas de caracteres de longitud variable. La memoria que va a contener estas cadenas se asigna y libera mediante un objeto de administrador de cadenas, asociado a cada instancia de CStringT
. MFC y ATL proporcionan creación de instancias predeterminadas de CStringT
, llamadas CString
, CStringA
y CStringW
, que manipulan cadenas de diferentes tipos de caracteres. Estos tipos de caracteres son de tipo TCHAR, char
y wchar_t
, respectivamente. Estos tipos de cadena predeterminados usan un administrador de cadenas que asigna memoria del montón de procesos (en ATL) o el montón de CRT (en MFC). Para las aplicaciones típicas, este esquema de asignación de memoria es suficiente. Sin embargo, para el código que hace un uso intensivo de cadenas (o código multiproceso), es posible que los administradores de memoria predeterminados no funcionen de forma óptima. En este tema, se describe cómo invalidar el comportamiento predeterminado de administración de memoria de CStringT
, creando asignadores optimizados específicamente para la tarea en cuestión.
Implementación de un administrador de cadenas personalizado (método básico)
Implementación de un administrador de cadenas personalizado (método avanzado)
CFixedStringT: ejemplo de un administrador de cadenas personalizado