C++ C++;包含指针的对象的析构函数

C++ C++;包含指针的对象的析构函数,c++,destructor,C++,Destructor,我需要一些关于析构函数的说明 我知道,如果一个对象包含指向已分配内存的指针,那么该对象的析构函数应该对该指针调用delete。但是,如果一个对象包含一个对象,该对象包含指向已分配内存的指针,例如字符串 class Foo { string bar; }; Foo* foo = new Foo; delete foo; 我必须做什么才能确保字符串中的底层char[]被释放?字符串类析构函数负责任何清理。您不必担心。字符串类析构函数负责任何清理。您不必担心它。当您的类被销毁时,它的所有成

我需要一些关于析构函数的说明

我知道,如果一个对象包含指向已分配内存的指针,那么该对象的析构函数应该对该指针调用
delete
。但是,如果一个对象包含一个对象,该对象包含指向已分配内存的指针,例如
字符串

class Foo
{
    string bar;
};

Foo* foo = new Foo;
delete foo;

我必须做什么才能确保字符串中的底层
char[]
被释放?

字符串
类析构函数负责任何清理。您不必担心。

字符串
类析构函数负责任何清理。您不必担心它。

当您的类被销毁时,它的所有成员(包括
字符串)也会自动销毁


清理
字符串
持有的任何内部资源(其中char数组是其他类不应依赖的实现细节)是
字符串
对象的析构函数的责任。

当类被析构函数时,它的所有成员(包括
字符串
)也会自动销毁


清理
字符串
所持有的任何内部资源(其中char数组是其他类不应依赖的实现细节)是
字符串
对象的析构函数的责任。

字符串
类型的析构函数负责清理其拥有的任何资源。对象的析构函数将调用成员对象的析构函数。

字符串的析构函数负责清理它所拥有的任何资源。对象的析构函数将调用成员对象的析构函数。

您可以查看如下规则。必须通过调用析构函数中的
delete
来销毁使用new创建(并保留所有权)的任何对象

您可以查看以下规则。必须通过调用析构函数中的
delete
来销毁使用new创建(并保留所有权)的任何对象

请您将类型修改为
Foo*
好吗?Stackoverflow不允许我进行1个字符的更正;)请您将类型修改为
Foo*
好吗?Stackoverflow不允许我进行1个字符的更正;)