C++中Delete语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 15:25:42
比如
int* a=new int;
*a=5;
delete a;
是不是说a这个变量还存在,只是不指向5的地址了?
那是不是说我在后面还可以再跟一句 *a=8;呢?

new是开辟一个空间然后将其内容写为5,delete是释放这个空间,对a没有关系,不过不可以在后面加=8因为a现在所指的空间已经不存在了,无法往a所指空间赋值,但可以写int b=8;a=&b;

a还存在,但是不能写*a=8,因为此时a没有指向有效的空间