title: Deleting a pointer to const (T const*)
body: <p>I have a basic question regarding the const pointers. I am not allowed to call any non-const member functions using a const pointer. However, I am allowed to do this on a const pointer:</p>
  
  <pre><code>delete p;
  </code></pre>
  
  <p>This will call the destructor of the class which in essence is a non-const 'method'. Why is this allowed? Is it just to support this:</p>
  
  <pre><code>delete this;
  </code></pre>
  
  <p>Or is there some other reason?</p>