powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с C++
3 сообщений из 3, страница 1 из 1
Помогите с C++
    #32062079
ROMISH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу класс для работы со строками.
Вот функция, которая должна возвращать 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
Помогите с C++
    #32062147
Podgy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
> CString& CString::LeftTrim(int Pos) 
            ^ - kill &


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


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