CString Semantiği
CString nesneleri büyüyebilen dinamik nesneler olsa da yerleşik ilkel türler ve basit sınıflar gibi davranır. Her CString
nesne benzersiz bir değeri temsil eder. CString
nesneleri, dize işaretçileri yerine gerçek dizeler olarak düşünülmelidir.
Bir nesneyi başka bir CString
nesneye atayabilirsiniz. Ancak, iki CString
nesneden birini değiştirdiğinizde, aşağıdaki örnekte gösterildiği gibi diğer CString
nesne değiştirilmez:
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"
Örnekte, aynı karakter dizesini temsil ettikleri için iki CString
nesnenin "eşit" olarak kabul edildiğini unutmayın. sınıfı, CString
iki CString
nesneyi kimlikleri (adres) yerine değerlerine (==
içeriklerine) göre karşılaştırmak için eşitlik işlecini () aşırı yükler.