神级获取结构体中成员偏移量的代码

今天偶然看到一段神级代码,如下:

#define offsetof(s,m)   ((size_t)((ptrdiff_t)&(((s*)0)->m)))

其中,s为结构体类型,m为成员名称。

如:

struct A {
    float a;
    double b;
}

offsetof(A, b);

可以获取到成员的偏移量,受教了。。。

posted @ 2015-05-06 17:11  waytofall  阅读(306)  评论(0编辑  收藏  举报