如果我有一个存储在变量中的内存地址,比如64位系统上8字节指针的
例如节点的地址为
我意识到这将是特定于平台的。
uint64_t
,那么我能否使用存储在uint64_t
中的值来创建一个新指针,指向它所保存的内存位置?struct Node { .. };
Node* node = new Node(5);
uint64_t addr = (uint64_t)static_cast<void*>(&node); // 8 byte pointer
例如节点的地址为
0x7fff76bb4880
,addr
存储140735185373312
(十进制表示),我想要一个新的指针Node* new_ptr = (Node*)0x7fff76bb4880
。我意识到这将是特定于平台的。