Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение y в зависимости от выбранной функции http://www.cyberforum.ru/cpp-beginners/thread1036276.html
Завтра нужно сдать лабу а у меня не полностью выполняются задания. Может кто поможет разобраться. Зарание спасибо)))) 1.Вычислить значение y в зависимости от выбранной функции (x), аргумент которой...
C++ стек и дек Разработать программу, с помощью которой можно определить наибольший допустимый размер дека с вещественным информационным полем. Найти этот размер (число элементов в деке). Сравнить с наибольшим... http://www.cyberforum.ru/cpp-beginners/thread1036270.html
циклический однонаправленный список. считалка C++
Всем доброго времени суток. Нужна ваша помощь. Вот дана задачка, не очень сложная. Только совсем не получается функция удаления элемента с определенным номером из списка, желательно с объяснением,...
C++ Найти ошибку в коде
Доброго времени суток, программисты. У меня возникла проблема, в которой я не могу разобраться, а именно: #include "stdafx.h" #include <stdio.h> #include <cmath> void main() { int a; float...
C++ Задачки http://www.cyberforum.ru/cpp-beginners/thread1036252.html
Всем доброго времени суток, какое бы оно ни было) для студентов время потихоньку двигается к сессии, осталется последняя контрольная и тут обрадовали - нужно написать код на C++ с которым даже не...
C++ Шифрование. Аргументы функции MAIN Привет всем:) Нужна помощь... С++... Аргументы функции MAIN. Фраза шифруется следующим образом: после первых двух символов вставляется слог БУ,после следующих двух вставляется КА, это повторяется... подробнее

Показать сообщение отдельно
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106

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

10.12.2013, 19:59. Просмотров 411. Ответов 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];", ошибка:
выражение должно быть допустимым для изменения левосторонним значением.
Как её избежать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.