箭头操作符

发布时间 2023-09-07 15:03:18作者: iu本u

智能指针中de->

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();
}

使用->计算类对象中偏移量

class Entity{
    public:
    int x,y;
};
int main(){
    int offset=(int)&((Entity*)nullptr)->y;//为4,x为0;
}