博主个人站点: https://azmddy.top
原文链接:为什么Qt会使用堆对象(指针)而不是栈对象?
文中存在图片,如遇到无法查看图片,请点击原文链接阅读。
以下正文:
为什么Qt会使用堆对象(指针)而不是栈对象?
对于C++开发者来说,对象的生命周期和内存管理都是需要特别关注的,Qt为什么new了对象,却不需要我们delete?会不会内存泄露?心中总有一种不安。
首先需要区分new了什么,如果是Qt的对象,需要将对象关联到父对象。这是由于Qt的内存管理机制:当父对象在销毁时会自动删除子对象,Qt内存管理使用于对象的层次结构
。如果不是Qt的对象,就需要自己关注对象的生命周期和内存管理了。
QWidget* w = new QWidget(