您的位置:首页 > 其它

根据class/struct中一个成员的地址,获取该class/struct的地址

2011-08-17 17:56 267 查看
使用 winnt.h 下的宏: CONTAINING_RECORD

#define CONTAINING_RECORD(address, type, field) ((type *)( \

(PCHAR)(address) - \

(ULONG_PTR)(&((type *)0)->field)))

例:

class MyClass

{

public:

INT m_a;

};

已有一个指向m_a 的指针 pa;

调用 MyClass* pClass = CONTAINING_RECORD(pa, MyClass, m_a );

pClass 则为 对应的对象指针
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: