实现一个简单的 std::unique_ptr 简介 std::unique_ptr 是一个独占资源所有权的智能指针,通过 RAII 来自动管理资源的构造和析构。 在标准库中,std::unique_ptr 的通常实现是具有空基类优化。具体来讲,对于 std::unique_ptr 的删除器是其类型
{public://constructunique_ptr(T *pT =NULL);//destroy~unique_ptr();//not allow copyableprivate: unique_ptr(constunique_ptr &); unique_ptr&operator=(constunique_ptr &);public://resetvoidreset(T *p);//release the own of the pointerT *release();//get the pointerT *get();public://c...
unique_ptr(constunique_ptr&)=delete;unique_ptr&operator=(constunique_ptr&)=delete;private:std::pair<D,pointer>_Mypair;};structPerson{Person()=default;~Person(){std::cout<<"destructor"<<std::endl;}};intmain(){autodelF=[](autoptr){deleteptr;std::cout<<"delete function"<<std::endl;}...