title: Delete inside destructor call
body: <p>In the following code:</p>
  
  <pre><code>class Base {
  public:
      virtual ~Base(){}
  };
  
  class Derived : public Base
  {
      Derived* d;
  
  public:
      ~Derived()
      {    
          delete d;
      }
      Derived():d(NULL){}
  };
  
  
  int main()
  {
      Base* b = new Derived;
      delete b;
      return 0;
  }
  </code></pre>
  
  <p>does the call <code>delete d;</code> inside Derived destructor lead to recursion in destructor calls?</p>