gpt4 book ai didi

c++ - 在C++中,如果在方法内创建对象,方法结束后对象使用的内存会自动释放吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:51:06 24 4
gpt4 key购买 nike

在我现在正在处理的代码中,我有一个属于类的方法,该类本身创建另一个对象的实例以在该方法中使用。在方法返回并且对象失去作用域后,属于该对象的内存是否会自动释放?还是每次调用方法都会占用越来越多的内存?

代码结构如下:

int Class::method(int input) {
Other_Class local_instance;
int i;

i = local_instance.do_something();
i *= input;

return i;
}

那么方法返回时属于local_instance的内存是否会被释放?还是我会有很多 Other_Class 实例阻塞内存?

非常感谢您的宝贵时间和帮助!

最佳答案

local_instance 对象将被分配到堆栈上,并在方法返回时销毁(将调用其析构函数)。

关于c++ - 在C++中,如果在方法内创建对象,方法结束后对象使用的内存会自动释放吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115634/

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