根据class/struct中一个成员的地址,获取该class/struct的地址
来源:互联网 发布:数据库开发工程师前景 编辑:程序博客网 时间:2024/05/21 09:45
使用 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 则为 对应的对象指针
- 根据class/struct中一个成员的地址,获取该class/struct的地址
- 与struct相关的宏定义 --- 根据成员变量偏移,获取struct起始地址
- C++ 中struct和class中成员函数的区别
- 详解struct、class中成员变量的字节对齐
- 与struct相关的宏定义(成员变量偏移和获取struct起始地址)
- Class Struct 的区别
- C++中class与struct的一个不同
- C++ 中 struct 与 class的区别
- C#中class与struct的区别
- C++中class与struct的区别
- C++中Struct与Class的区别
- C++中struct与class的异同
- C++中class与struct的区别
- c++中 class与struct的区别
- c#中struct和class的区别
- .NET中class和struct的区别
- .NET中class和struct的区别
- .NET中class和struct的区别。
- 安装Metasploit4出现postgresql错误
- 2011 程序员薪资调查报告----->你不得不看
- Velocity中加载vm文件的三种方式
- java如何调用ldap协议【LdapContext】
- android源码下载及编译
- 根据class/struct中一个成员的地址,获取该class/struct的地址
- Java的匿名类学习
- c++——容器实现文本查询程序
- 2011年全球开发者最热衷Android开发平台
- Android腾讯微博客户端开发三:多账号管理的实现
- c#和SQL
- 知识收集
- 几条实用的路由跟踪,域名主机跟踪命令。
- Android的经典笑话