Semântica de CString
Embora os objetos de CString são os objetos dinâmicos que podem aumentarem, atuam como tipos primitivos internos e classes simples.Cada objeto de CString representa um único valor.Os objetos deCString devem ser pensados como as cadeias de caracteres (em vez de como ponteiros para cadeias de caracteres.
Você pode atribuir um objeto de CString para outro.Em o entanto, quando você altera um dos dois objetos de CString , o outro objeto de CString não é alterado, como mostrado no exemplo a seguir:
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"
Em o exemplo observe que os dois objetos de CString são considerados “equals” porque representa a mesma cadeia de caracteres.A classe de CString sobrecarrega o operador de igualdade (==) para comparar dois objetos de CString com base no seu valor (conteúdo) em vez de sua identidade (endereço).