Название в значительной степени подводит итог моему вопросу. Почему не может быть сделано следующее, чтобы проверить нулевой указатель?
auto_ptr<char> p( some_expression );
// ...
if ( !p ) // error
Это нужно сделать вместо:
if ( !p.get() ) // OK
Почему auto_ptr<T>
просто не имеет operator!()
?