c++ 类中指针的释放(delete)
我的问题如下:
(1)一般在c++类中有成员指针的话,会在类的析构函数里释放(delete)这个指针?
(2)基于(1),如果传给这个成员指针不是一个堆分配的指针,那类发生析构会发生错误,这个怎么解决??
如下:
class A
{
public:
int *p;
~A()
{
delete p;
}
}
/----------------------------------
{
A a;
int b = 0;
a.p = &b;
}
/----------------------------------
对于上面将 b 的地址传给 a.p
当 a 出了它的作用域时会发生析构,调用~A(),而 p 指向不是一个 new 分配的内存,delete p 时会发生错误,
这样错误应该如何去避免???
诚望赐教!!!