Гость
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с C++ / 3 сообщений из 3, страница 1 из 1
25.10.2002, 20:16
    #32062079
ROMISH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с C++
Пишу класс для работы со строками.
Вот функция, которая должна возвращать Pos левых символов.

CString& CString::LeftTrim(int Pos)
{
char *tmp = new char[Pos];
memcpy(tmp, this->Data, Pos);
CString Res = tmp;
return Res;
}

Здесь в переменной Data лежит строка-источник.

Пример использования:
CString str1 = "qwerty";
CString str2;
str2 = str1.LeftTrim(2);

Естественно, что такой код не работает, так как деструктор объекта Res вызывается раньше, чем задействуется конструктор копирования Res в Str2. Как обойти такую ситуацию?
Помогите пожалуйста!!!
...
Рейтинг: 0 / 0
26.10.2002, 17:32
    #32062147
Podgy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с C++
Код: plaintext
1.
2.
> CString& CString::LeftTrim(int Pos) 
            ^ - kill &


Correct way:
Код: plaintext
1.
CString CString::LeftTrim(int Pos) 
...
Рейтинг: 0 / 0
01.11.2002, 11:22
    #32063905
Yola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с C++
Из ф-и возвращать ссылки и указатели на внутренние переменные не рекомендуется.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с C++ / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]