宏定义:结构体成员的偏移
define OFFSET(type, member) ((size_t)(&((type *)0)->member))
member对于(结构体类型)type起始的偏移,type一般为一个结构体类型
#include <iostream>
#include <stdio.h>using namespace std;typedef struct{int a;int b;char c;char d;
}T_type_test;#define OFFSET(type, member) ((size_t)(&((type *)0)->member)) //member对于(结构体类型)type起始的偏移,type一般为一个结构体类型, 如:T_type_test.int main()
{cout << OFFSET(T_type_test, d) << endl;return 0;
}
结果:
offset: 9