If I have a class with an array of pointers to another class Vehicle :
class List {
public:
//stuff goes here
private:
Vehicle ** vehicles;
}
If I now write the destructor of the class List, do I manually iterate over the array (I know how many items are in the array) and delete every pointer to a vehicle, or will C++ automatically call the destructors of all the Vehicles in the array?
(Like it does if there's a private string/... in the class or if it would be a STL container of Vehicle pointers)
EDIT:
I forgot about delete [] vehicles, 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?
vectorandboost::scoped_ptr. If you use C++0x, usevectorandstd::unique_ptr.