Semantyka CString
Mimo że CString obiekty są obiekty dynamiczne, które można powiększać, pełnią wbudowanych typów pierwotnych i proste klas.Każdy CString obiekt reprezentuje unikatową wartość.CStringobiekty należy traktować jako ciągi rzeczywistych, a nie do łańcuchów.
Można przypisać CString obiektu do innego.Jednak podczas modyfikowania jednego z dwóch CString obiektów drugiej CString obiektu nie jest modyfikowany, jak pokazano w następującym przykładzie:
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"
Uwaga w tym przykładzie, dwóch CString obiekty są uważane za "równe", ponieważ stanowią one ten sam ciąg znaków.CString Klasy overloads operator równości (==) do porównywania dwóch CString obiektów na podstawie ich wartości (zawartość) zamiast ich tożsamości (adres).