关于指针delete的问题
#include <stdlib.h>
#include <iostream>
using namespace std;
class A
{
public:
int* p;
A()
{
p= new int;
*p = 1;
cout<<\"构造\"<<endl;
}
~A()
{
delete p;
*p = 5;
cout<<\"析构\"<<endl;
}
void fun()
{
++(*p);
cout<<p<<'\t'<<*p<<endl;
}
};
int main(int argc, char *argv[])
{
A a;
if(true){
A b(a);
b.fun();
}
a.fun();
system(\"PAUSE\");
return 0;
}
按理说 默认拷贝构造函数使a.p和b.p这两个指针指向相同的地址 在b被析构的时候已经将这个空间释放掉了 为什么还能被赋值和调用?