Это оператор конкатенации двух строк и возвращает он результирующий объект CString. Одна из строк-параметров должна быть объектом CString. Другой может быть символьный указатель или символ. Вы должны знать, что могут порождаться исключения работы с памятью, когда Вы используете оператор конкатенации, так как новая память может быть перераспределена, для хранения временных данных.
friend CString AFXAPI operator +(
const CString& string1,
const CString& string2 );
friend CString AFXAPI operator +(
const CString& string,
TCHAR ch );
friend CString AFXAPI operator +(
TCHAR ch,
const CString& string );
friend CString AFXAPI operator +(
const CString& string,
char ch);
friend CString AFXAPI operator +(
char ch,
const CString& string);
friend CString AFXAPI operator +(
const CString& string,
LPCTSTR lpsz);
friend CString AFXAPI operator +(
LPCTSTR lpsz,
const CString& string );
string, string1, string2
Определяет объекты CString, чтобы конкатенировать.
ch
Определяет символ, чтобы конкатенировать к строке или строку к нему.
lpsz
Определяет указатель на символьную строку с нулевым символом в конце.
Объект CString, который является временным результатом конкатенации. Это возвращаемое значение позволяет комбинировать несколько конкатенаций в одном выражении.
Следующий пример демонстрирует использование CString::operator +.
// пример для CString::operator +
CString s1( "abc" );
CString s2( "def" );
ASSERT( (s1 + s2 ) == "abcdef" );
CString s3;
s3 = CString( "abc" ) + "def" ; // Правильно
s3 = "abc" + "def";
// Неправильно! Первый параметр должен быть CString.