Partager via


Sémantique CString

Même si les objets CString sont des objets dynamiques qui peuvent croître, ils agissent comme des types primitifs intégrés et des classes simples. Chaque CString objet représente une valeur unique. CString les objets doivent être considérés comme les chaînes réelles plutôt que comme des pointeurs vers des chaînes.

Vous pouvez affecter un objet à un CString autre. Toutefois, lorsque vous modifiez l’un des deux CString objets, l’autre CString objet 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"   

Notez dans l’exemple que les deux CString objets sont considérés comme « égaux », car ils représentent la même chaîne de caractères. La CString classe surcharge l’opérateur d’égalité (==) pour comparer deux CString objets en fonction de leur valeur (contenu) plutôt que de leur identité (adresse).

Voir aussi

Chaînes (ATL/MFC)