Qt中 QObject *parent = Q_NULLPTR

public:
    MainWindow(QWidget *parent = nullptr);

Qt类的构造函数都会有一个parent参数。
这个参数通常是QObject* 或者是 QWidget* 类型的。很多情况下它都会有一个初始值0,因此,即便你不去给它复制也没有丝毫的问题。

作用

parent参数指明了组件的父组件
当父组件delete时,Qt可以保证所有子组件——也就是parent指针指向这个组件的所有组件——都会被正确的delete掉。
这是Qt能够帮助我们管理一部分内存的原因所在。Qt是通过遍历parent属性来防止了这一部分内存泄漏的。
当然,如果你不声明这个属性,当整个程序关闭时,操作系统会回收内存——因此我们所说的内存泄漏一般是指我们自己写的应用程序的内部(at导致数组越界,进而内存泄漏)。

猜你喜欢

转载自blog.csdn.net/qq_43641765/article/details/109608492
今日推荐