将delete
指向结构foo
的指针:
struct foo
{
bar * baz;
};
指向struct baz
:
struct baz
{
int arr;
};
同样delete
/释放baz
指向的内存?
答案 0 :(得分:4)
没有。删除不会以这种方式“级联”。
但是,如果foo
有析构函数,则可以在该析构函数中delete baz
。
答案 1 :(得分:3)
没有。在删除foo实例之前,您需要手动删除baz。大多数典型的开发人员都会使用foo delete baz的析构函数。
struct foo
{
bar * baz;
~foo()
{
delete baz;
}
};