[Interest] How to properly delete qApp?
Nikos Chantziaras
realnc at gmail.com
Wed Mar 16 15:07:30 CET 2016
On 16/03/16 14:01, Till Oliver Knoll wrote:
> I don't think you're supposed to delete qApp
Actually you do need to delete it. Most people don't because after
qApp->exec() returns, the program ends anyway. But if you want to have 0
leaks, you need to delete your QApplication instance.
Usually you don't delete qApp directly, but just your instance, but
that's the same thing, really:
int main(int argc, char** argv)
{
QApplication app = new QApplication(/* ... */);
app->exec();
delete app;
// or:
// delete qApp;
// which does the same thing.
}
In normal applications, like the above, deleting it is redundant. You're
exiting the process, so the environment is going to clean your memory
anyway. It's still a memory leak, if you're pedantic about it.
If you're using QApplication in a plugin, deleting qApp is actually
mandatory, otherwise you're leaking the qApp instance when the plugin
unloads; no one else is going to delete it for you.
More information about the Interest
mailing list