用memcpy c 读取并写入指针功能
Read and write to pointer function with memcpy c++
嗨,今天我正在尝试清理我的代码,我在指针和纪念品上有些新。我想做的是我可以做的事情。
pos() -> x = 500;甚至printf(pos-> x)
到目前为止代码 - 仅阅读
struct vec3
{
float x, y, z;
};
vec3 client::pos()
{
vec3 vPos;
memcpy(&vPos, &(*(float *)(state() + 0x1C)), sizeof(vec3));
return vPos;
}
上面的代码将正确返回Z,Y和Z线,但显然不是指针,因此无法设置一个。
我真的不知道如何将上述方法的使用扭转不逆转,而不是逆转,而是对此定义两种方法。
以下是我当前如何设置pos
的示例void client::setPos(float x, float y, float z)
{
vec3 vPos = {
x==NULL?pos().x:x,
y==NULL?pos().y:y,
z==NULL?pos().z:z
};
memcpy(&(*(float *)(state() + cordX)), &vPos, sizeof(vec3));
}
如何通过使我的第一个指针将这两种方法"束缚"到一种方法中?
怎么样:
vec3* client::pos()
{
return (vec3*)(state() + 0x1C);
}
以这种方式,pos()应返回指向内部存储数据的VEC3指针。然后,pos()的呼叫者可以直接修改该数据(如果您确实想要的话)。
请注意,您正在向内部内存发出指示,您必须以某种方式处理内存生命周期问题(例如,如果state(State()稍后指向不同的内存,当某人仍然使用pos()的返回值时,会发生什么?)。
相关文章:
- 链表删除功能的单指针 // 是可能的
- 对于非常量指针类型的参数,未调用具有常量指针模板类型参数的功能
- char* 除了作为C++中的指针之外,还有其他功能吗?
- 具有小对象优化功能的智能指针
- 如何定义和设置指向模板类方法的功能指针
- 将状态传递给功能指针
- 如何使用指针向量为班级制作复制功能
- 我对C 中共享指针列表进行排序的功能未完成类型
- 如何使用结构内的功能指针调用私有函数
- 如何将自己的智能指针传递到功能
- 模板功能以检查智能指针是否为空
- 如何存储指针以功能模板,该模板将可呼叫对象作为其参数之一
- 功能指针不起作用(C )
- 将C 方法作为功能指针传递
- 字符指针功能以复制C 中的字符串
- 指针?指针功能
- 反向指针功能问题
- 无效指针功能的输出
- 更好地解释C++指针功能
- 用memcpy c 读取并写入指针功能