Partager via


Sémantique de CString

Bien que les objets de CString sont des objets dynamiques qui peuvent développer, ils se comportent comme les types primitifs intégrés et les classes simples. Chaque objet d' CString représente une valeur unique. Les objets d'CString doivent être considérés comme chaînes réelles plutôt que comme pointeurs vers des chaînes.

Vous pouvez assigner un objet de CString à un autre. Toutefois, lorsque vous modifiez un des deux objets d' CString , l'autre objet d' CString n'est pas modifié, comme illustré par l'exemple suivant :

CString s1, s2;
s1 = s2 = _T("hi there");

ASSERT(s1 == s2); // they are equal

s1.MakeUpper();  // Does not modify s2
ASSERT(s2[0] == _T('h')); // s2 is still "hi there"   

Remarque dans l'exemple que les deux objets d' CString sont considérés comme « égal » parce qu'ils représentent la même chaîne. La classe d' CString surcharge l'opérateur d'égalité (==) pour comparer deux objets d' CString selon leur valeur (contenu) plutôt que leur identité (adresse).

Voir aussi

Autres ressources

ATL/MFC chaînes ()