标题:请问什么情况下自己new了一个组件,而不需要自己delete??
作者:markli
日期:2006-03-21 00:44
内容:
Qt中很多自带得例子都有,new了一个组件,而没有delete,请问有什么原则吗?什么情况下要自己delete,什么情况下不需要?谢谢
#1 [XChinux 03-21 08:22]
new的时候指明了parent,那么parent析构时会自动把其下的部件 也析构了。
#2 [zccmin 03-21 11:36]
照一楼所说:如果我在A的构造函数中A(){b=new B(this)}不需要在A的析构函数中delete b?
我觉得这种情况还是需要在~A(){delete b;}
#3 [icevi 03-21 13:15]
我比较同意版主的观点.
#4 [XChinux 03-21 17:58]
用不用delete,还要看其parent到底是在其析构中是怎么做的。
还得看其原理。
#5 [XChinux 03-21 18:00]
引用第2楼zccmin于2006-03-21 11:36发表的“”:
照一楼所说:如果我在A的构造函数中A(){b=new B(this)}不需要在A的析构函数中delete b?
我觉得这种情况还是需要在~A(){delete b;}
这种情况的前提是:这种框架类它有这种机制。
这其实没什么好讨论的。本质上还得看代码怎样写的。这与Java, C#不一样,它们是语言和环境紧密不可分的。