智能指针中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;
}