如果成员函数尝试执行操作会发生什么delete this;,例如在以下类的构造函数中?
class A
{
public:
A(int);
~A();
int *pi;
}
A::A(int i)
{
delete this;
pi = new int(i);
}
A::~A()
{
delete pi;
}
Run Code Online (Sandbox Code Playgroud)
Alo*_*ave 38
这个 C++ FAQ条目很好地回答了这个问题,在这里重复:
只要你小心,对象就可以了delete this.
这是我如何定义"小心":
您通过访问后违反了#3pidelete this
| 归档时间: |
|
| 查看次数: |
9551 次 |
| 最近记录: |