Freigeben über


CString Semantics

Obwohl CString-Objekte dynamische Objekte sind, die wachsen können, verhalten sie sich wie integrierte primitive Typen und einfache Klassen. Jedes Objekt stellt CString einen eindeutigen Wert dar. CString-Objekte sollten für die eigentlichen Zeichenfolgen und nicht als Zeiger bleiben in Zeichenfolgen.

Sie können ein CString-Objekt zu anderen zuweisen. Wenn Sie jedoch eines der beiden CString-Objekte ändern, wird das andere CString-Objekt, wie dargestellt nicht durch das folgende Beispiel geändert:

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"   

Hinweis im Beispiel, dass die beiden CString-Objekte als "gleich" gelten, da sie die gleiche Zeichenfolge darstellen. Die Klasse CString überlädt den Gleichheitsoperator (==) um zwei CString-Objekte auf Grundlage der Wert (Inhalt) anstatt ihre Identität (Adresse) zu vergleichen.

Siehe auch

Weitere Ressourcen

Strings (ATL/MFC)