标题:新人对局部变量加入对象树的问题
只看楼主
widon1104
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-3-9
结帖率:100%
 问题点数:0 回复次数:0 
新人对局部变量加入对象树的问题
程序代码:
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QPushButton *btn = new QPushButton("弹出对话框", this);
    connect(btn, &QPushButton::clicked, [=](){
        QDialog dlg(this);
        dlg.resize(200, 100);
        dlg.exec();
    });
}

两个问题:
1)上面这个代码dlg是lambda函数的局部变量,传入了this指针加入了对象树,lambda函数退出的时候dlg对象已经被析构,当dlg析构的时候是不是会自动退出对象树?
不然对象树析构的时候会拿dlg这个已经无效的对象来析构,这样应该会出问题吧?
2)是不是以后开发qt,只要终端没报error log,没崩溃,就可以认为没问题啊?
搜索更多相关主题的帖子: 析构 this 对象 parent 局部变量 
2021-12-21 18:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507945-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.361094 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved