C ++ - 将指针存储在字节数组中?

时间:2016-12-08 04:31:53

标签: c++ arrays pointers

有没有办法在char字节数组中逐字节存储指针地址,然后将其转换回指针?

2 个答案:

答案 0 :(得分:2)

不确定。记住它:

void* ptr = nullptr;
char buffer[sizeof(void*)];
memcpy(buffer, &ptr, sizeof(void*));

然后回来:

memcpy(&ptr, buffer, sizeof(void*));

答案 1 :(得分:0)

是的,你可以这样做:

void *p = bla;

char temp[sizeof p];
std::memcpy(temp, &p, sizeof p);
// ...
std::memcpy(&p, temp, sizeof p);

#include <cstring>可能需要memcpy