在C++中访问一个成员变量,需要这个类的this指针以及该变量的偏移量。比如下面的例子,
查询他们的偏移量如下,
可以看到不管是用子类还是基类,偏移量都是0,是相同的。
那么为什么当我们使用这些变量的时候,没有错误呢?那是因为编译器会对this指针做调整,而这个调整是我们不需要关心的,比如会对this指针加上偏移量从而指向基类的对象。
在C++中访问一个成员变量,需要这个类的this指针以及该变量的偏移量。比如下面的例子,
查询他们的偏移量如下,
可以看到不管是用子类还是基类,偏移量都是0,是相同的。
那么为什么当我们使用这些变量的时候,没有错误呢?那是因为编译器会对this指针做调整,而这个调整是我们不需要关心的,比如会对this指针加上偏移量从而指向基类的对象。