对象指针 局部变量对象 查看析构的调用
#include<iostream>
using namespace std;
class A{
int m_data;
public:
A(int i=1):m_data(i)
{
cout<<"==========A()"<<m_data<<endl;
}
void func(){
A(3);//局部变量 栈里面
}
~A(){
cout<<"========~A() m_data="<<m_data<<endl;
}
};
int main()
{
A a;
A *p;
p=new A(2);
a.func();
p->func();
//p->~A();//手动调用
delete p;//调用-->~A()
p=NULL;
return 0;
}
/*result:
==========A()1
==========A()2
==========A()3
========~A() m_data=3
==========A()3
========~A() m_data=3
========~A() m_data=2
========~A() m_data=1
*/