[书签]C/C++获得类成员变量偏移和成员函数地址

2019-12-04  本文已影响0人  珏_Gray

1、成员变量地址偏移:

可以使用stddef.h文件中的offsetof宏定义,方法为借用0地址,具体内容如下:

#if defined _MSC_VER && !defined _CRT_USE_BUILTIN_OFFSETOF
    #ifdef __cplusplus
        #define offsetof(s,m) ((::size_t)&reinterpret_cast<char const volatile&>((((s*)0)->m)))
    #else
        #define offsetof(s,m) ((size_t)&(((s*)0)->m))
    #endif
#else
    #define offsetof(s,m) __builtin_offsetof(s,m)
#endif

2、成员函数地址:

上一篇 下一篇

猜你喜欢

热点阅读