Compartilhar via


Semântica de CString

Observação

A biblioteca do Microsoft Foundation Classes (MFC) e a Biblioteca de Modelos Ativos (ATL) continuam com suporte. No entanto, não estamos mais adicionando recursos ou atualizando a documentação.

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)