Пример 1:
class A;class B;class C;
void A::showcase()
{
C *ptr = new C(*this);
B.input(ptr);
}
Пример 2:
class A;class C;class B;
void A::showcase()
{
B.input(new C(*this));
}
Удаляется ли указатель в первом примере?
Локальная переменная-указатель - удаляется при выходе из методa. Объект на который она указывает - не удаляется.
Локальные переменные имеют автоматическое хранение и не удаляются в принципе. Удалятся могут только переменные с динамическим хранением (то бишь созданные вызовом new
) и только при вызове соответствующего delete
. Так что если input
не использует delete
, то ни в первом, ни во втором случае ничего не удаляется.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь создать службу-плеер "играть случайные аудио-файлы пользователя друг за другом"В целом весь код работает идеально (все проигрывается...
Мне нужно сделать запись звука с микрофона (маленькие фрагменты ~1с) и конвертировать его в stringтакже нужно сделать это в фоне и зациклить чтобы...