A question about delete keyword

I am observing an issue of BAD_POOL_CALLER (c2). (looks like freeing an object twice was the reason).
Now i have a few questions in that regard.

  1. When we delete an object with delete operator. Is it important we set the pointer back to point to null immediately after we do that ?

  2. When we delete an object(which composes several other objects) using the delete keyword, if the destructor is not defined for that class. How will the delete work.
    will it be smart enough to clear the memory and set them to null for all the constituent objects of an objects as well.

Hope this will explain the issue i am facing.