Partager via


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 CStringTtype basé. Voici quelques exemples : CString, CStringAet 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’un CFixedStringT 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 pour CStringT 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 plus CFixedStringT 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, CFixedStringTconsultez 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