如果我有一個存儲位置的地址存儲在一個變量中,即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