Добрый день. Хотелось бы узнать, в чем проблема. Есть простой (ужасный) код для примера
class STRING_REPLACE
{
private:
char* stringObj;
int length=0;
public:
STRING_REPLACE()
{
cout << "Creating STRING_REPLACE object\n";
char* stringObj = new char[5];
strcpy(stringObj, "FFFF\0");
length = 5;
cout << stringObj << endl;
}
int getLength()
{
return this->length;
}
void setString(std::string obj,int length)
{
delete[] stringObj;
//stringObj = new char[length+1];
//strcpy(this->stringObj, obj.c_str());
}
void getString()
{
cout << stringObj << endl;
}
};
};
Почему в данном примере программа вылетает при вызове функций setString,getString?
Прошу не кидаться камнями за такой код. Такая реализация сделана умышленно.
Потому что в конструкторе вы изволите выделять память, и полученный указатель совать в локальную переменную.
char* stringObj = new char[5];
А надо:
stringObj = new char[5];
Виртуальный выделенный сервер (VDS) становится отличным выбором
Слегка отрефакторил код своей библиотечки сетевого обменаОбсуждаемая часть - классы запросов и ответов
Как считать данные типа bool из файла при помощи fwscanf? Какие спецификаторы использовать?
Как правильно рассчитать точную ширину выводимого символа текущего шрифта, чтобы вывести текст с помощью TextOut в рабочее окно? Делаю для полосы...
Вот, я создал constexpr функциюКак точно определить, выполнится она во время компиляции или в runtime?