template<class T>class auto_ptr {public:auto_ptr(const T* ptr):_ptr(ptr){}//管理权转移,会产生悬挂指针问题。auto_ptr(auto_ptr<T>& ap):_ptr(ap._ptr){ap._ptr = nullptr;}~auto_ptr(){if (_ptr){delete _ptr;}}T& operator*(){return *_ptr;}T operator->(){return _ptr;}private:T* _ptr;};