Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do I need to delete a pointer if I haven't assigned it a new value?

Just a quick question:

Do I need to delete a pointer if I haven't actually assigned a new value to it?

What I've done if created a pointer and then handed it a reference to something like so:

Planet *planetPointer;

planetPointer = &earth;

Do I need to delete this pointer or can I just set it to null?

like image 248
Joseph Little Avatar asked Dec 04 '12 18:12

Joseph Little


1 Answers

You don't need to delete it, and, moreover, you shouldn't delete it. If earth is an automatic object, it will be freed automatically. So by manually deleting a pointer to it, you go into undefined behavior.

Only delete what you allocate with new.

like image 195
Luchian Grigore Avatar answered Nov 16 '22 08:11

Luchian Grigore