c\c++:浅论指针偏移量的运用

本文探讨了C/C++中利用指针偏移量突破访问权限的方法,虽然可以用于访问私有成员,但存在确定变量位置、类型转换等问题,实际开发中较少使用。同时,介绍了如何通过偏移量在对象中连续读取相同类型变量,适用于数据成员较少但类型相同的情况,如游戏开发中的属性数据。然而,这种操作可能导致野指针、内存越界等错误,需要谨慎使用。
摘要由CSDN通过智能技术生成

.偏移量突破访问权限

假设出现一种情况,我们需要从在派生类中需要访问一次基类中的某个私有成员,且该基类中没用任何方法可访问私有成员(如果有那不如直接using为成protected),这个时候就可以使用指针的偏移量强制访问.
比如以下代码

#include <iostream>
class Fat {
   
private:
	int m_a;
public:
	int m_b;
	Fat();
};
class Son : public Fat {
   
public:
	int m_c;
};
Fat::Fat() {
   
	m_a = 1;
	m_b = 2;
}
int main() {
   
	using namespace std;
	Son temp;
	cout << temp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值