当对象的指针返回并且程序员忘记删除它时,大多数内存泄漏都会出现.
例如:
class my_class
{
...
};
my_class* func1()
{
my_class* c = new my_class;
return c;
}
int main()
{
my_class* var1 = func1();
...
// Programmer forgot delete the var1: delete var1;
// -- or --
// Doesn't know 'delete[] var1;' is correct or 'delete var1;'.
}
Run Code Online (Sandbox Code Playgroud)
当指向创建对象的指针并且程序员忘记删除它时,会出现一些内存泄漏.
例如:
class my_class
{
...
};
void func2(my_class* p)
{
...
}
int main()
{
my_class* var3 = new my_class;
func2(var3);
// Does func2 deletes var3? Programmer doesn't know.
// …Run Code Online (Sandbox Code Playgroud)