Partilhar via


Semântica de CString

Embora os objetos CString sejam objetos dinâmicos que podem crescer, eles agem como tipos primitivos internos e classes simples. Cada objeto CString representa um valor exclusivo. Os objetos CString devem ser considerados como cadeias de caracteres reais, em vez de ponteiros para cadeias de caracteres.

Você pode atribuir um objeto CString a outro. No entanto, quando você modifica um dos dois objetos CString, o outro objeto CString não é modificado, conforme mostrado pelo 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"   

Observe, no exemplo, que os dois objetos CString são considerados "iguais" porque representam a mesma cadeia de caracteres. A classe CString sobrecarrega o operador de igualdade (==) para comparar dois objetos CString com base no valor (conteúdo) deles, em vez de na identidade (endereço).

Confira também

Cadeias de caracteres (ATL/MFC)