gpt4 book ai didi

C++:删除动态分配的类时,不在堆上的私有(private)成员也会被删除吗?

转载 作者:行者123 更新时间:2023-11-28 07:21:37 25 4
gpt4 key购买 nike

例如,假设您有:

Class Test
{
public:
Test();
private:
int x = 0;
int y = 3;
}

您使用类似的东西声明一个 Test 实例

Test * RRR = new Test();

比方说你输入的那一行

delete RRR;

这是否也删除了x和y占用的内存?

最佳答案

简短的回答是肯定的,但严格来说,x 和 y 没有被删除。他们占用的内存将被释放,因为他们是结构的数据成员。

即使你不定义析构函数,编译器也会为你合成一个默认的析构函数,释放结构体占用的内存。

关于C++:删除动态分配的类时,不在堆上的私有(private)成员也会被删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com