请问下面这段代码为什么会导致析构函数无限递归
class base{
public:
base() {p = this;cout<<"base()"<<endl;}
~base()
{
if(p != NULL)
{
cout<<"~base()"<<endl;
// delete p; //为什么执行这条语句会导致无限递归?????????????????
//delete把p指向的对象删除了,但p里面仍然存放着this,
p=NULL;
}
}
protected:
base *p;
};
void main()
{
base bobj;
}
...全文
相关推荐
java递归无限层级树
这里应用java递归实现了一个无限层级的树,包含层级&是否叶子节点,可以很好的为ztree,dtree,ztree准备后台数据,喜欢的朋友可以下载学习!
java、js中实现无限层级的树形结构方法(类似递归)
下面小编就为大家带来一篇java、js中实现无限层级的树形结构方法(类似递归)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
无限递归支持VC++
无限递归,好玩的简单程序,支持VC++,又一装逼利器
TreeView无限递归绑定
TreeView无限递归绑定TreeView无限递归绑定TreeView无限递归绑定TreeView无限递归绑定
无限递归treeview权限加载及分配
无限递归treeview 权限管理 权限对应角色 C# 做的是一个webform的OA里的权限管理. 具体用到递归算法.详见说明文档.


