title: Destructor of class with pointer array C++
body: <p>If I have a class with an array of pointers to another class <em>Vehicle</em> :</p>
  
  <pre><code>class List {
      public:
          //stuff goes here
      private:
          Vehicle ** vehicles;
  }
  </code></pre>
  
  <p>If I now write the destructor of the class <code>List</code>, do I manually iterate over the array (I know how many items are in the array) and <code>delete</code> every pointer to a vehicle, or will C++ automatically call the destructors of all the Vehicles in the array?</p>
  
  <p>(Like it does if there's a private string/... in the class or if it would be a STL container of Vehicle pointers)</p>
  
  <p>EDIT:
  I forgot about <code>delete [] vehicles</code>, but if I would do that, would it also delete the memory used by all the vehicles in the array, or would it just delete the memory used by the pointers?</p>