zar*_*zar 5 c++ qt garbage-collection memory-leaks qsharedpointer
我正在研究这个,但我没有看到一个确凿的答案.Qt小部件应用程序在退出时是否会清理内存?它是否与QObject有任何区别?如果有垃圾收集而不是为什么有QSharedPointer课?我是从我的代码的以下上下文中询问的.
void MainWindow::sync()
{
QString destPathUnixStyle = makePathUnix( _RootPath );
QString rsync_cmd = QString("rsync/rsync -a root@%1:/data/ '%2'").arg( _ip ).arg( destPathUnixStyle );
QProcess *syncProcess = new QProcess(this);
syncProcess->start( rsync_cmd );
qDebug() << "Sync started..";
connect(syncProcess, SIGNAL(finished(int)), this, SLOT(syncFinished()) );
_syncInProgress = true;
}
Run Code Online (Sandbox Code Playgroud)
现在syncProcess应用程序退出时我会被清理干净吗?如果用户在没有退出的情况下调用此函数一千次,会产生内存泄漏吗?
更新
鉴于上面的函数经常被调用很多次,是否更好地声明QProcess一个成员变量或者只是用于QSharedPointer改进上面的代码?