title: Does delete[] call destructors?
body: <p>I am writing a template class which internally manages an array of the given type. Like this:</p>
  
  <pre><code>template&lt;typename T&gt;
  class Example {
      // ...
  private:
      T* objects; // allocated in c'tor (array), deleted in d'tor
      // ...
  };
  </code></pre>
  
  <p>I was wondering if C++ calls the destructor of each object in <code>objects</code> when I delete it via <code>delete[] objects;</code>.</p>
  
  <p>I need to know this, because the objects in my class do not contain sensible values all the time, so the destructors should not be called when they don't.</p>
  
  <p>Additionally, I'd like to know if the destructors would be called if I declared a fixed-sized array like <code>T objects[100]</code> as part of <code>Example&lt;T&gt;</code>.</p>