深度探索C++对象模型总结2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

class A {
public:
int x;
int y;
int z;
};

int main() {
printf("offset of z: %p\n", &A::z); //int A::*
A a;
printf("&a: %p, &a.z: %p\n", &a, &a.z);
return 0;
}

输出如下

1
2
offset of z: 0x8
&a: 0x7ffeeea7fa20, &a.z: 0x7ffeeea7fa28