1、求结构体struc里某个变量相对struc的偏移量
#include <iostream>
using namespace std;
class node{
virtual void g(){};
void f(){}
public:
int a;
char b[20];
double c;
};
#define FIND(struc,e) (unsigned) &(((struc *)0)->e)
int main(){
cout<<FIND(node,c);
return 0;
}
(struc*)0:将常量0强制转化成struc*型指针所指向的地址;然后取其变量e,((struc*)0)->e,再取其地址&(((struc*)0)->e),因为首地址为0,所以取到其地址就为它的偏移量