ДопустимC++ Удаление указатель на объект, который содержит другой указатель
class A {
A* array;
public:
A(){
array= new A [4];
}
~A(){
delete array;
}
}
Как мы освобождаем объект, если мы создаем такой объект на куче, как
A* object_ptr =new A();
Я немного путают о том, чтобы освободить указатель, указывающий на объект, содержащий другой указатель .....
Если я назначу object_ptr новому указателю, это вызовет такую же проблему? – GalaxyVintage
Да. Если вы пишете: 'A * a = new A(); A * b = a; delete a; 'и' '' '' '' '' '' '' '' будет также удален. –
Hmm..also если объект создается с помощью метода в стек с одним из его полей, создаваемых в куче, это память в куче получить освобожден после? – GalaxyVintage