在linux中有一个很有用的宏定义container_of其具体的实现如下:
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
关于其中一个很重要的关键字typeof另一篇引用的文章看过。
阅读(722) | 评论(0) | 转发(0) |