如果我有一个存储位置的地址存储在一个变量中,即uint64_t
为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
(的dec表示),我想新的指针Node* new_ptr = (Node*)0x7fff76bb4880
。
我意识到这将是平台特定的。
完美。谢谢。 – user3217789