Оператор присвоения (=) повторно инициализирует существующий объектCString новыми данными. Если строка адресата (то есть левая сторона) является уже достаточно большой, чтобы сохранить новые данные, новое распределение памяти не будет иметь места. Знайте, что могут порождаться исключительные ситуации работы с памятью всякий раз, когда Вы используете оператор присвоения, потому что память часто распределяется заново, чтобы поместить объект CString.
const CString& operator =(
const CString& stringSrc );
const CString& operator =(
TCHAR ch);
const CString& operator =(
char ch );
const CString& operator = (
LPCWSTR lpsz);
const CString& operator =(
LPCSTR lpsz);
const CString& operator =(
const unsigned char* psz);
stringSRC,
Определяет объект CString чтобы копировать.
ch
Определяет символ, чтобы копировать в строку.
lpsz
Определяет указатель на символьную строку с нулевым символом в конце.
psz
Определяет строку с нулевым символом в конце, которая будет скопирована в этот объект CString.
Следующий пример демонстрирует использование CString::operator =.
// пример для CString::operator =
CString s1, s2; // Пустые объекты CString
s1 = "кот"; // s1 = "кот"
s2 = s1; // s1 и s2 = "кот"
s1 = 'x'; // только отдельный символ