T *operator->() const throw();
The selection operator effectively returns get(), so that the expression al->m behaves the same as (al.get())->m,
where al is an object of class auto_ptr<T>. Hence, the stored pointer must not be null, and T must be a class,
structure, or union type.