今天偶然看到一段神级代码,如下:
#define offsetof(s,m) ((size_t)((ptrdiff_t)&(((s*)0)->m)))
其中,s为结构体类型,m为成员名称。
如:
struct A { float a; double b; } offsetof(A, b);
可以获取到成员的偏移量,受教了。。。
今天偶然看到一段神级代码,如下:
#define offsetof(s,m) ((size_t)((ptrdiff_t)&(((s*)0)->m)))
其中,s为结构体类型,m为成员名称。
如:
struct A { float a; double b; } offsetof(A, b);
可以获取到成员的偏移量,受教了。。。