Qt 对象的生命周期是多少?
如:
QTcpSocket *socket=new QTcpSocket();
socket什么时候会被销毁?我应该使用
delete socket;
有什么区别:
QTcpSocket socket;
我找不到关于此的深入信息,欢迎任何评论或链接。
最佳答案
Qt 使用父子关系来管理内存。如果您在创建 QTcpSocket
对象时提供父对象,父对象将负责清理它。例如,父级可以是使用套接字的 GUI 窗口。一旦窗口消失(即关闭),套接字就会消失。
您可以在没有父对象的情况下执行此操作,但实际上您必须手动删除
对象。
我个人建议坚持使用惯用的 Qt 并将所有对象链接到父子树中。
关于c++ - Qt 对象的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264420/