памяти, который был создан в функции, после его завершения? спасибо!
После кого завершения?
new и возвращать указатель на него?
А когда этот объект должен удаляться тогда?
Выделять объект динамически ?
Ну там ещё порядка 7 вариантов есть...
Можно ещё глобально вне функций создать
Пометить объект как static?
Вам нужен паттерн фабрика
Да не обязательно
Но правильнее)
Ну да, не факт(
Если я правильно понимаю, созданный в функции объект, после завершения функции удаляется. Я в header файле объявил указатель. И из функции отдаю указатель на объект, который создал. Когда пытаюсь обратиться к этому объекту - получаю segmentation fault. Полагаю из за того что память освобождена после выполнения функции.
В общем тебе надо бы учебник или cppreference почитать на счёт классов памяти в С++
Лучше пришли код... Есть подозрения, что ты неправ
Объявил указатель, но объект, чей адресс в указателе судя по ошибке создан на стеке, а нужно в куче
Ты его наверное не инициализировал и обращаешься к пустой памяти
Ну не обязательно
То есть предплагаешь там кривое создание объекта в куче? Как модно говорить, злонамеренное 😺
Я думаю там вообще нет создания а просто обращение к указателю
Я предлагаю посмотреть код, выяснить в чем проблема, и тогда её решать
Ну то что указатель глобальный, а не возвращается Да все может быть, конечно. ИМХО MyClass* ptr = MyClass() <- тут объект в стеке и пофиг как указатель вернуть, будег сегфолт MyClass* ptr = new MyClass() <- тут объект в куче и сохранится после выхода из функции. Rfrbt tot dfhbfyns rjczrf vjuen ,snm&
Реальность оказалась круче😺
Обсуждают сегодня