可能重复:
未定义、未指定和实现定义的行为
我知道在同一个对象上调用 delete 是灾难性的。但只要在第二次调用删除之前没有为其他对象重新分配内存,情况就是如此。但是,即使执行以下操作也是错误的?如果我删除 cout,代码不会转储核心。
int main()
{
A *a1 = new A();
delete a1;
cout<<a1<<endl;
delete a1;
}
可能重复:
未定义、未指定和实现定义的行为
我知道在同一个对象上调用 delete 是灾难性的。但只要在第二次调用删除之前没有为其他对象重新分配内存,情况就是如此。但是,即使执行以下操作也是错误的?如果我删除 cout,代码不会转储核心。
int main()
{
A *a1 = new A();
delete a1;
cout<<a1<<endl;
delete a1;
}