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

1、成员变量地址偏移:

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

#if defined _MSC_VER && !defined _CRT_USE_BUILTIN_OFFSETOF
    #ifdef __cplusplus
        #define offsetof(s,m) ((::size_t)&reinterpret_cast((((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、成员函数地址:

  • 总结C++中取成员函数地址的几种方法
  • C++知识积累:如何获取虚函数表以及虚函数地址

你可能感兴趣的:([书签]C/C++获得类成员变量偏移和成员函数地址)