class RW {
int a;
public:
int read() const {
return this->a;
}
void write(int _a) {
this->a = _a;
}
};
#define PHYSICAL_ADDRESS (0x60000000)
#define SIZEOF_PHY_ADDR (sizeof(RW))
// assume physical memory area is already assigned for the sizeof(RW)
void main()
{
int val;
void *phy_ptr = PHYSICAL_ADDRESS;
RW *rw_ptr = (RW *)phy_ptr;
rw_ptr->write(1);
val = rw_ptr->read();
}
Run Code Online (Sandbox Code Playgroud)
请假设上面的代码是伪代码。我有一个可读/写的共享物理内存区域。我想将该区域的指针强制转换为读写。我可以这样做吗?可以接受吗?
我已经检查过它工作正常,但我不确定它是否是正确的 cpp 方式。
我感谢任何回应和讨论!提前致谢!
c++ ×1