我是c ++的新手,我刚学会了动态内存和内存泄漏.
根据我的理解,在创建指针(int *ptr = new int),然后更改他指向的地址时,旧地址仍然存在/已分配.(如果我是冤枉,请纠正我).
所以我想到了这个:
int *ptr;
ptr = new int;
Run Code Online (Sandbox Code Playgroud)
第一个ptr是填充随机(或不是?)地址,然后我改变它,所以旧的地址保留?如果我尝试这个代码:
int *ptr;
cout << ptr << endl ;
ptr = new int;
cout << ptr << endl ;
Run Code Online (Sandbox Code Playgroud)
我明白了:
0x401a4e
0x6d2d20
Run Code Online (Sandbox Code Playgroud)
这是否意味着0x401a4e是内存泄漏的一部分?或者当ptr移动到动态内存时它会被释放吗?它是如何工作的?
c++ ×1