Which code is good(if it is good)
void DeleteObject(Object* obj)
{
delete obj;
}
or
void DeleteObject(Object** obj)
{
delete *obj;
}
int main()
{
Object *obj = new Object();
DeleteObject(&obj); or DeleteObject(obj);
}
In fact DeleteObject function is not so short(it deletes objects fields).
In my opinion neither.
The person creating the object should be responsible for the object and thus delete it.
So my answer is that
mainshould do thedelete.