Semantica di CString

Anche se gli oggetti CString sono oggetti dinamici che possono crescere, agiscono come tipi primitivi predefiniti e classi semplici. Ogni CString oggetto rappresenta un valore univoco. CString gli oggetti devono essere considerati come stringhe effettive anziché come puntatori alle stringhe.

È possibile assegnare un CString oggetto a un altro. Tuttavia, quando si modifica uno dei due CString oggetti , l'altro CString oggetto non viene modificato, come illustrato nell'esempio seguente:

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"   

Si noti che nell'esempio i due CString oggetti sono considerati "uguali" perché rappresentano la stessa stringa di caratteri. La CString classe esegue l'overload dell'operatore di uguaglianza (==) per confrontare due CString oggetti in base al relativo valore (contenuto) anziché alla relativa identità (indirizzo).

Vedi anche

Stringhe (ATL/MFC)