c++ - 何时释放动态分配的 QObjects

标签 c++ qt qobject

我的程序似乎没有泄漏,所以我对此很好奇。如果我用 new 初始化了一个子类 QObject 并且我没有给对象一个父对象,那么它什么时候被销毁?它似乎违背了 C++ 的规范,但也许 qt 元编译器在幕后做了一些事情。

更具体地说,我正在使用 QThread 并在没有父对象的对象上使用 moveToThread(线程的含义强制没有父对象)。看起来线程下的对象在主程序完成时被销毁。

最佳答案

没有生命周期管理的动态分配数据将“有效”,直到应用程序终止。

如果您担心您的 worker 对象泄漏,您可以在它们的工作完成后调用 deleteLater(),并且由于它是一个槽,您还可以将信号连接到它。

关于c++ - 何时释放动态分配的 QObjects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006821/

相关文章:

c++ - 在 R 中调用 "multi file C++ code with external libraries referenced"

c++ - 指向数组语法的指针

c++ - QProcess -> 在 Linux 上从 sftp 读取标准输出

c++ - VS2013中生成MOC文件

c++ - 如何在 QT GUI 应用程序中进行正确的线程处理?

javascript - 在 Eclipse 中处理多语言 (C++/JavaScript) 项目

c++ - 在 Xamarin.iOS (arm64) 中使用 OpenCV

c++ - Qt/C++ 中的简单文本编辑器

c++ - 如何从 C++ 中的函数返回 QSqlQueryModel?

c++ - QObject::connect 没有匹配函数