1 c++ memory pointers memory-management
我认为删除命令会释放我分配的内存.有人可以解释为什么看起来我仍然有删除后使用的内存?
class Test
{
public:
int time;
};
int main()
{
Test *e;
e = new Test;
e->time = 1;
cout << e->time << endl;
delete e;
e->time = 2;
cout << e->time << endl;
return(0);
}
Run Code Online (Sandbox Code Playgroud)
我预计在e-> time = 2之后出现seg-fault;
谢谢!
我预计在e-> time = 2之后出现seg-fault;
你不应该"期待"任何事情发生; 您正在调用未定义的行为,根据定义,未定义.这意味着您无法再对程序的状态做出任何合理的期望.