这里求得是结构体ST他的某一成员的的地址偏移量。就是MEMBER这个成员地址比他的结构体多了多少。
首先1
2int *p=(int *)0 ;
cout<<p;
他的结果是0,他这里虽然有强制转换,但是赋值的时候他赋0,p的值就是0,不管怎么转换0就是0。
所以从内层开始,他这里将0的类型转换成了ST类型,然后取他的成员MEMBER,最后在外面取了地址,(size_t就相当于unsigned int)。
成员的地址相当于首地址+偏移量,这里他的首地址为0了,所以直接取的地址就是偏移量了。