// ПЛОХОЙ ПРИМЕР template void bad_print(std::auto_ptr p) // p становится владельцем { // переданного аргумента // Указывает ли p на объект? if (p.get() == NULL) { std::cout << "NULL"; } else { std::cout << *p; } } // Ошибка - объект, на который ссылается p, // удаляется при выходе из функции.