CFixedStringT, classe
Cette classe représente un objet de chaîne avec une mémoire tampon de caractères fixe.
Syntaxe
template<class StringType, int t_nChars>
class CFixedStringT : private CFixedStringMgr, public StringType
Paramètres
StringType
Utilisé comme classe de base pour l’objet de chaîne fixe et peut être n’importe quel CStringT
type basé. Voici quelques exemples : CString
, CStringA
et CStringW
.
t_nChars
Nombre de caractères stockés dans la mémoire tampon.
Membres
Constructeurs publics
Nom | Description |
---|---|
CFixedStringT ::CFixedStringT | Constructeur de l’objet de chaîne. |
Opérateurs publics
Nom | Description |
---|---|
CFixedStringT ::operator = | Affecte une nouvelle valeur à un CFixedStringT objet. |
Notes
Cette classe est un exemple de classe de chaîne personnalisée basée sur CStringT
. Bien que similaires, les deux classes diffèrent dans l’implémentation. Les principales différences entre CFixedStringT
et CStringT
sont les suivantes :
La mémoire tampon de caractères initiale est allouée dans le cadre de l’objet et a une taille t_nChars. Cela permet à l’objet
CFixedString
d’occuper un bloc de mémoire contiguë à des fins de performances. Toutefois, si le contenu d’unCFixedStringT
objet dépasse t_nChars, la mémoire tampon est allouée dynamiquement.La mémoire tampon de caractères d’un
CFixedStringT
objet est toujours la même longueur ( t_nChars). Il n’existe aucune limitation sur la taille de la mémoire tampon pourCStringT
les objets.Le gestionnaire de mémoire pour
CFixedStringT
lequel il est personnalisé, de sorte que le partage d’un objet CStringData entre deux objets ou plusCFixedStringT
n’est pas autorisé.CStringT
les objets n’ont pas cette limitation.
Pour plus d’informations sur la personnalisation et la gestion de CFixedStringT
la mémoire pour les objets de chaîne en général, consultez Gestion de la mémoire et CStringT.
Hiérarchie d'héritage
IAtlStringMgr
StringType
CFixedStringMgr
CFixedStringT
Spécifications
En-tête : cstringt.h
CFixedStringT ::CFixedStringT
Construit un objet CFixedStringT
.
CFixedStringT() throw();
explicit CFixedStringT(IAtlStringMgr* pStringMgr) throw();
CFixedStringT(const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT(const StringType& strSrc);
CFixedStringT(const StringType::XCHAR* pszSrc);
explicit CFixedStringT(const StringType::YCHAR* pszSrc);
explicit CFixedStringT(const unsigned char* pszSrc);
Paramètres
pszSrc
Chaîne terminée par null à copier dans cet CFixedStringT
objet.
strSrc
Objet existant CFixedStringT
à copier dans cet CFixedStringT
objet.
pStringMgr
Pointeur vers le gestionnaire de mémoire de l’objet CFixedStringT
. Pour plus d’informations sur IAtlStringMgr
la gestion de la mémoire, CFixedStringT
consultez Gestion de la mémoire et CStringT.
Notes
Étant donné que les constructeurs copient les données d’entrée dans un nouveau stockage alloué, vous devez savoir que les exceptions de mémoire peuvent se produire. Certains de ces constructeurs agissent en tant que fonctions de conversion.
CFixedStringT ::operator =
Réinitialise un objet existant CFixedStringT
avec de nouvelles données.
CFixedStringT<StringType, t_nChars>& operator=(
const CFixedStringT<StringType, t_nChars>& strSrc);
CFixedStringT<StringType, t_nChars>& operator=(const char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const wchar_t* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const unsigned char* pszSrc);
CFixedStringT<StringType, t_nChars>& operator=(const StringType& strSrc);
Paramètres
pszSrc
Chaîne terminée par null à copier dans cet CFixedStringT
objet.
strSrc
Existant CFixedStringT
à copier dans cet CFixedStringT
objet.
Notes
Vous devez savoir que des exceptions de mémoire peuvent se produire chaque fois que vous utilisez l’opérateur d’affectation, car le nouveau stockage est souvent alloué pour contenir l’objet résultant CFixedStringT
.
Voir aussi
CStringT, classe
Graphique hiérarchique
Classes partagées ATL/MFC