当应用程序分配内存但从未释放它时,我们将其称为内存泄漏。
但是,如果应用程序分配内存,使用它很短的时间并将其分配给剩余的执行时间,即使它未使用,并且只在它完成之前释放它,它在技术上不是内存泄漏,虽然仍然是一个bug。这有名字吗?
例如,在C ++中使用Qt,我的意思是:
int Foo::calculateSomething()
{
MyClass *obj = new MyClass();
obj->setParent(QCoreApplication::instance());
if(obj->canDoSomething()) {
return obj->doSomething();
// obj is not deleted! It will still be destructed when the application finishes.
} else {
delete obj;
return -1;
}
}