biz C++ kod takip eden kısım var varsayalım:oluşan yapıların hafızasını boşaltmak için doğru yolu
struct A
{
int* a;
A()
{
a = new int(5);
}
~A()
{
delete a;
}
};
struct B
{
A a;
int b;
B()
{
a = A();
b = 10;
}
};
int main()
{
B b;
return 0;
}
çalıştırmaya, A'nın yıkıcı iki kez denilen, ama neden olur? B'nin ima ettiği şeyden, örtülü yıkıcı, B üyelerinin tüm yıkıcılarını arar, ki bu iyi bir şeydir, fakat ikinci kez A'nın yıkıcısı için çağrı ne zaman yapılır? Bu gibi durumlarda belleği işlemenin doğru yolu nedir? Veri üyeleri için kurucular, sınıfınızın yapıcısında
bir debuger olmadan bile elle, bu hata ayıklamak lütfen ve daha fazla anlayacaksınız: 'a = A();' –