如果我有以下陈述:
int *x = new int;
在这种情况下,我在堆上动态分配了内存。换句话说,我现在有了一个对象的reserved
内存地址int
。
在那之后说我做了以下事情:
delete x;
这意味着我freed up
在堆上的内存地址。
说之后我又做了以下事情:
int *x = new int;
会x
指向它在被删除之前指向堆的同一个旧内存地址吗?
如果我以前这样做会怎样delete
:
x = NULL;
然后这样做:
int *x = new int;
将x
指向堆上的内存地址而不是旧地址吗?
谢谢。