CONTAINING_RECORD宏
  WtpFkP2ympcR 2023年12月02日 30 0


CONTAINING_RECORD宏的使用

已知类或结构体成员变量的地址,可以取得类或结构体对象的地址。

  • 代码
#include <windows.h>
#include <iostream>



class MyClass
{
public:
	MyClass(){}
	virtual ~MyClass(){}

public:
	int m_Value1;
	int m_Value2;
	int m_Value3;
};


int main(int argc, char** argv)
{
	//已知类或结构体成员变量的地址,可以取得类或结构体对象的地址

	MyClass myObj;

	int* pValue2 = &(myObj.m_Value2);

	MyClass* pObjBase = CONTAINING_RECORD(pValue2, MyClass, m_Value2);

	std::cout << "long long(&myObj)" << long long(&myObj) << std::endl
		<< "long long(pObjBase)" << long long(pObjBase) << std::endl;


	return 0;
}
  • 输出结果
  • CONTAINING_RECORD宏_#include

CONTAINING_RECORD的探究

以下内容来自:

CONTAINING_RECORD宏_#include_02


CONTAINING_RECORD宏_ios_03


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月02日 0

暂无评论

推荐阅读
WtpFkP2ympcR