智能指针

使用智能指针删除堆上分配的内存,而不用delete

class Entity{
public:
    int x;
public:
    void Print(){
        std::cout<<"Hello Entity!"<<std::endl;
    }
};
class scopedPtr{
private:
    Enity* m_Entity;
public:
    scopedPtr(Entity* e)
    :m_Entity(e){
    }
    ~scopedEntity(){
        delete m_Entity;
    }
    Entity*  operator->(){
        return m_Entity;
    }
};
int main(){
    scopedEntity entity=new Entity();
    entity->Print();
}

 

posted @ 2023-09-07 14:52  iu本u  阅读(12)  评论(0)    收藏  举报