以下文章解释了内存泄漏.我想知道为什么以下代码导致内存泄漏.
int *data = new int;
*data = 15;
Run Code Online (Sandbox Code Playgroud)
当我创建data并分配15时,就像我理解的那样15被复制到内存data所以我们仍然有一个指向的指针,data我们可以delete.
我认为内存泄漏就是data = 0x00123例如,对吗?在这里,我们已经失去了对内存的控制,内存真的浪费了.
有什么想法吗?
你有选择地阅读.
引用您链接的原始网站:
超出范围指针
void memLeak( )
{
int *data = new int;
*data = 15;
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,存在内存泄漏,因为没有人被删除data,之后变得无法访问memLeak
这个片段:
int *data = new int;
*data = 15;
Run Code Online (Sandbox Code Playgroud)
本身并不是内存泄漏