Page 1 of 1

Kann ich in diesem Fall einen Zeiger wiederverwenden?

Posted: 07 Jan 2025, 09:35
by Guest
Angenommen:

Code: Select all

struct Foo
{
Obj* pObj;
Foo() : pObj(NULL);
};

Obj* CreateObj()
{
//do some stuff and then
return new Obj; //obj is a class
}

int main()
{
Foo foo;
foo.pObj = CreateObj();
DoSomeOperationWithTheObj( foo.pObj );
//suppose foo is a monster that should be 'killed' or deleted now
delete foo.pObj;
foo.pObj = NULL;
//the question is can this pointer be 're-used' now like this:
foo.pObj = CreateObj(); //create another object
}
Da der Zeiger gelöscht wurde, gibt es da kein Problem, ihn wiederzuverwenden, oder?