gpt4 book ai didi

c++ - 什么时候删除[]指针c++?

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:01 25 4
gpt4 key购买 nike

我接触 C++ 有一段时间了,来自 Java 的我最困惑的方面之一是内存管理。例如,假设我有一个方法,在该方法中我声明了一个指向对象的指针,我想使用 get 方法将该指针设置为另一个对象的属性:

SubObject *mySubObject = anotherObject.getSubObject();

我的问题是,当方法结束时这个指针会发生什么?我应该在它结束之前使用以下内容吗?

delete mySubObject;

如果我不删除它呢?它会保留到整个程序结束吗?

我曾尝试在谷歌上搜索 C++ 的基本内存管理教程,但我通常会发现更高级的内容超出了我的理解范围,我将不胜感激。

最佳答案

跟踪内存管理可能是一种负担,最好的建议是尽可能避免它,并通过避免原始指针使其显式化。如果您只需要临时访问保存在其他地方的变量(在您的示例中,它是另一个对象的成员,因此在那里进行管理),您不应该 delete 它,它将是如果你只持有一个 reference 而不是一个指针会更好,因为引用明确表明你没有管理该资源。

关于c++ - 什么时候删除[]指针c++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405454/

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