在C++中访问一个成员变量,需要这个类的this指针以及该变量的偏移量。比如下面的例子,
查询他们的偏移量如下,
可以看到不管是用子类还是基类,偏移量都是0,是相同的。
那么为什么当我们使用这些变量的时候,没有错误呢?那是因为编译器会对this指针做调整,而这个调整是我们不需要关心的,比如会对this指针加上偏移量从而指向基类的对象。
本文探讨了C++中如何通过this指针和成员变量偏移量访问对象属性,解释了编译器如何调整this指针来正确指向基类或派生类的对象。
在C++中访问一个成员变量,需要这个类的this指针以及该变量的偏移量。比如下面的例子,
查询他们的偏移量如下,
可以看到不管是用子类还是基类,偏移量都是0,是相同的。
那么为什么当我们使用这些变量的时候,没有错误呢?那是因为编译器会对this指针做调整,而这个调整是我们不需要关心的,比如会对this指针加上偏移量从而指向基类的对象。
774
117
1449
382

被折叠的 条评论
为什么被折叠?