No, the default constructor std::auto_ptr does just that, so obviously this is not necessary. In any case, it is a matter of style, and you must be consistent. For example, would you explicitly call the default constructor for the member vector in the constructor initialization list?
As a side note, std::auto_ptr is deprecated in the following standard
source share