2

delete指向 struct 的指针foo

struct foo
{
    bar * baz;
};

指向结构baz

struct baz
{
    int arr;
};

delete/释放指向的内存baz

4

2 回答 2

4

不,删除不会以这种方式“级联”。

但是,如果您有一个析构函数for foo,那么您可以delete baz在该析构函数中。

于 2012-05-29T00:27:06.120 回答
3

不,您需要在删除 foo 实例之前手动删除 baz。大多数典型的开发人员都会有 foo delete baz 的析构函数。

struct foo
{
    bar * baz;
    ~foo()
    {
        delete baz;
    }
};
于 2012-05-29T00:27:12.460 回答