神级获取结构体中成员偏移量的代码
今天偶然看到一段神级代码,如下:
#define offsetof(s,m) ((size_t)((ptrdiff_t)&(((s*)0)->m)))
其中,s为结构体类型,m为成员名称。
如:
struct A { float a; double b; } offsetof(A, b);
可以获取到成员的偏移量,受教了。。。
____________________________
本博客文章主要供博主学习交流用,所有描述、代码无法保证准确性,如有问题可以留言共同讨论。