Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
#1

реализация функции c_str() в моем классе Str - C++

10.12.2013, 19:59. Просмотров 372. Ответов 1
Метки нет (Все метки)

Ребята, вот есть у меня в классе Str данные:
C++
1
2
3
private:
    Vec<char> data;
    char* buffer;
В конструкторе я пишу:
C++
1
Str() :buffer(new char[32]) { }
Далее в функции, я хочу buffer заполнить данными:
const char* Str::c_str() const
{
delete [] buffer;
buffer = new char[data.size() + 1];
std::copy(data.begin(), data.end(), buffer);
buffer[data.size()] = '\0';

return buffer;
}
Это простенькая версия std::string. Так я хочу, что бы мой указатель на char, buffer, всегда удалялся при каждом вызове не константной функции, но в строке "buffer = new char[data.size() + 1];", ошибка:
выражение должно быть допустимым для изменения левосторонним значением.
Как её избежать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 19:59     реализация функции c_str() в моем классе Str
Посмотрите здесь:

Не могу заставить функцию str.c_str() коректно работать - C++
Доброго времени суток , мне нужно написать программу которая сравнивает введенную букву с словом(часть кода виселицы ) , нонепонятно почему...

Функции str.size() и str.length() - в чем их разница? - C++
Существует 2 функции для определения размера строки в string str.size() и str.length() В чем их разница? Почитал, что вроде бы разницы нет...

Ошибка в моем классе - C++
Такие ошибки: ошибка: candidates are: Point::Point(const Point&amp;) error: Point::Point(double, double) ошибка: no...

как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str - C++
как создать функцию или программу, чтобы str состояла из цифр,а также давалась новой строке str

Реализация структуры в классе - C++
проблема с видимостью. может стоит реализовать два класса. И применить наследство? как бы вы реализовали класс список?

Реализация методов в классе. - C++
Программирую на с++ под DOS.Всё, конечно, интересно, но уже месяц не могу разобраться с одной задачкой. Дан класс &quot;телефонный справочник&quot;...

Реализация списка в классе. C++ - C++
Нужно описать класс для однонаправленного списка, который будет хранить целые значения. Необходимо реализовать: создание/разрушение;...

Как заставить Strncpy вложить в itog часть символов строки str, если дина str больше, чем кол-во нужных нам символов? - C++
strncpy(itog,str,size+1); cout&lt;&lt;itog; itog вообще не выводится Добавлено через 2 минуты Вот код. #include &lt;iostream&gt; ...

Реализация массива в классе (ошибка компиляции, исправить код) - C++
Здравствуйте форумчане написал я программу реализации массива в классе но не работает по неизвестным мне причинам, вот надеюсь на вашу...

Как понять, что реализация конструктора в классе произошла? - C++
VISUAL C++ Как понять что реализация конструктора в классе произошла ?

Одновременная реализация константного и неконстантного оператора [] в классе string - C++
Вобщем, проблема в следующем: нужно реализовать обращение по индексу в классе string двумя вариантами оператора : константный (для чтения)...

почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет? - C++
почему в массиве str хранятся значения str2, ведь в функции создается копия...разве нет?..) #include &lt;iostream&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.12.2013, 20:37     реализация функции c_str() в моем классе Str #2
Цитата Сообщение от Suares Посмотреть сообщение
Как её избежать?
Убрать константность метода.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru