linux和windows平台都已经定义了offsetof函数,用于取struct类型中某个变量的偏移量
在stddef.h头文件中,该宏的完整说明如下:
#ifdef __cplusplus
#ifdef _WIN64
#else
#define offsetof(s,m) (size_t)&reinterpret_cast<const volatile char&>((((s *)0)->m))
#else
#ifdef _WIN64
#else
#define offsetof(s,m) (size_t)&(((s *)0)->m)
#endif
#endif /* __cplusplus */