Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
1

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

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

Author24 — интернет-сервис помощи студентам
Ребята, вот есть у меня в классе 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];", ошибка:
выражение должно быть допустимым для изменения левосторонним значением.
Как её избежать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2013, 19:59
Ответы с готовыми решениями:

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

System(str.c_str() для bash скрипта с | pipes в C++
Добрый день, есть маленькая эффективная комманда от bash, что сама по себе призвана скачивать...

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

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

1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
10.12.2013, 20:37 2
Цитата Сообщение от Suares Посмотреть сообщение
Как её избежать?
Убрать константность метода.
1
10.12.2013, 20:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2013, 20:37
Помогаю со студенческими работами здесь

Equal(str.begin(), str.end(), str.rbegin()
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; string str; int main() {...

Нужен код функции c_str()
Нужен код функции c_str(), так как в моем RAD Studio XE3 - баг, она возвращает wchar_t*, вместо...

после правки textarea .html(str) .text(str) перестают работать
после правки textarea $(&quot;textarea#id1&quot;).text(data); и $(&quot;textarea#id1&quot;).html(data); перестает...

У меня не работает такой простой код: <? $str='Welcome' print $str ?>
Здравствуйте. У меня не работает такой простой код: &lt;? $str='Welcome' print $str ?&gt; Ни...

Написать и протестировать функцию NXT_BLNK(str, pos), которая анализирует строку str
Написать и протестировать функцию NXT_BLNK(str, pos), которая анализирует строку str, начиная с...

JavaFX btn.setText(str) динамическое изменене str
Как мне отображать измененное значение str на кнопке после ёё нажатия. Мне нужен обычный счётчик -...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru