Sdílet prostřednictvím


CString – sémantika

I když jsou objekty CString dynamické objekty, které mohou růst, chovají se jako předdefinované primitivní typy a jednoduché třídy. Každý CString objekt představuje jedinečnou hodnotu. CString objekty by měly být považovány za skutečné řetězce, nikoli jako ukazatele na řetězce.

Jeden objekt můžete přiřadit CString k druhému. Když však upravíte jeden ze dvou CString objektů, druhý CString objekt se nezmění, jak je znázorněno v následujícím příkladu:

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"   

Všimněte si v příkladu, že dva CString objekty jsou považovány za "stejné", protože představují stejný znak řetězec. Třída CString přetěžuje operátor rovnosti (==) k porovnání dvou CString objektů na základě jejich hodnoty (obsahu) místo jejich identity (adresy).

Viz také

Řetězce (ATL/MFC)