码迷,mamicode.com
首页 > 其他好文 > 详细

编程中的offsetof

时间:2016-01-30 22:49:44      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

linux和windows平台都已经定义了offsetof函数,用于取struct类型中某个变量的偏移量

stddef.h头文件中,该宏的完整说明如下:
#ifdef __cplusplus
#ifdef _WIN64
#define offsetof(s,m) (size_t)( (ptrdiff_t)&reinterpret_cast<const volatile char&>((((s *)0)->m)) )
#else
#define offsetof(s,m) (size_t)&reinterpret_cast<const volatile char&>((((s *)0)->m))
#else
#ifdef _WIN64
#define offsetof(s,m) (size_t)( (ptrdiff_t)&(((s *)0)->m) )
#else
#define offsetof(s,m) (size_t)&(((s *)0)->m)
#endif
#endif /* __cplusplus */

编程中的offsetof

标签:

原文地址:http://www.cnblogs.com/davad/p/5172101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!