宏定义:结构体成员的偏移
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
60

被折叠的 条评论
为什么被折叠?



