109-拥有权(OwnerShip)new&delete-【剧情一】
本帖最后由 不二如是 于 2016-10-22 16:16 编辑在之前我们都用过new,然后就不管了。
为啥呢?
因为Qt最后的析构会帮我们释放,你不用去在意了。
虽然如此,但我们有义务自觉了解拥有权问题!
好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**** Hidden Message *****
static/image/hrline/1.gif
可以看到,当关闭窗口后,因为该窗口是顶层窗口,所以应用程序要销毁该窗口部件
如果不是顶层窗口,那么关闭时只是隐藏,不会被销毁哈~
而当窗口部件销毁时会自动销毁其子部件。
这也是为啥只看到new而看不到delete的原因啦~
再来看下,上面那张main.cpp()的图
Widget w;
w.show();
这样对于对象w,在关闭程序时会自动销毁。
而对于Widget中的部件,如果实在堆上创建(使用new操作符),那么只要指定Widget为其父窗口就可以了,不需要进行delete操作。
当整个应用程序关闭时,会自动销毁w对象,而此时又会自动销毁他的所有子部件,这些都是Qt对象树所万完成滴
牛牛牛掰 1
页:
[1]