【发布时间】:2022-11-04 22:25:33
【问题描述】:
如果在一个函数中,我有以下代码:
someClass *x = new object(); x = nullptr;
这是内存泄漏吗?或者,内存是否由于其本地范围而重新分配?
谢谢!
不知道如何自己测试。
【问题讨论】:
-
是的,这在任何good c++ book 中都有解释。另见Must new always be followed by delete?
-
无论
newed 是什么,都必须是deleted。 -
请注意,这不仅仅是内存泄漏。更糟糕的事情通常会发生,因为你没有正确地破坏构造的对象。
-
这就是我的想法,但如果它发生在函数中并且想要明确,我会重新考虑。谢谢!
-
几乎 C++ 中的一切都发生在“函数中”
标签: c++ memory-leaks