работы с ним Я могу вернуть его из функции?
Давай ты сам ответишь
Я думаю, что это возможно, так как только я потом удаляю её
Да, но сырые указатели лучше так не возвращать ибо вероятность утечки велика. Смотрите unique_ptr и т.п.
Я уже ознакомился, спасибо. Просто хотел понять более глубже
Т.е если в функции есть ссылка на динамическую область памяти, то Я тоже могу вернуть её из функции, да? Это валидно же? Я понимаю, что есть более правильные решения, просто хочу понять можно так делать или нет
Можно, но будет совсем неочевидно кто владеет этим динамическим объектом и в какой момент надо вернуть память системе: int& foo() {return *(new int);} ... int& r = foo(); ... delete &r; // неочевидно
Динамический объект удаляется только через delete, да? Т.е если например есть ссылка на этот динамический объект, а потом удаляется эта ссылка, то тот динамический объект все ещё существует, так?
@dewarssss ^ вот здесь пример
Да, пока не вызвали delete обьект жив
Все, ясно. Спасибо
Обсуждают сегодня