Ben bir class A
alanlarından biri için yığın bellek ayırma kullanır. Sınıf A başlatılır ve başka bir sınıfta işaretçi alanı olarak depolanır ( class B
.
B sınıfı bir nesneyle işimi bitirdiğimde delete
, yıkıcı olarak adlandırdığımı farz ediyorum ... Ama bu A sınıfının yıkıcısı mı diyor?
Düzenle:
Cevaplardan, bunu alıyorum (yanlışsa lütfen düzenleyin):
delete
B çağrılarının bir örneğinin B :: ~ B ();- hangi çağrılar
A::~A();
A::~A
gerektiğini açıkçadelete
bir nesnenin tüm yığın ayrılmış üye değişkenleri;- Son olarak, söz konusu B sınıfı örneğini saklayan bellek bloğu yığına geri döndürülür - yeni kullanıldığında, ilk olarak öbek üzerinde bir bellek bloğu tahsis eder, sonra tüm yıkıcılar nesneyi sonlandırmak için çağrıldıktan sonra inşaatçıları çağırmaya çağırır. saklanan nesnenin öbeğe döndürüldüğü blok.