hjj*_*200 0 c++ struct destructor
#include <iostream>
struct ABC{
int A;
ABC(int i = 1) : A(i) {}
~ABC() {
std::cout << A << std::endl;
}
void destruct() {
delete this;
}
};
int main() {
ABC A1(2);
A1.destruct();
return 0;
}
Output:
2
2
Run Code Online (Sandbox Code Playgroud)
我有这个代码,我试图手动删除结构变量.这样做,我意识到析构函数在这里被调用了两次.为什么会这样?destruct()调用时为什么不删除?
| 归档时间: |
|
| 查看次数: |
377 次 |
| 最近记录: |