代码
char* addr = value.get_addr();
memcpy(record_data + 6 + field->offset(), &addr, 8);
addr是一个指向内存某个区域的指针,现在我想把这个指针的地址存入内存的某个区域,所以我使用了memcpy函数,接下来我想再次读出这个地址,这样我就可以检查我已经写对了。
我对指针的读写操作不是很熟悉。有人可以给我一些建议吗?
如果你只想存储地址,现在就不需要使用
memcpy
这样的函数了。为什么不直接将地址存储到向量或地图中?
#include <vector>
std::vector<char*> addrs;
const int StoreAddr(char* addr) {
addrs.push_back(addr);
return addrs.size() - 1;
}
char* GetAddr(const int index) {
return addrs[index];
}
int main() {
const int index = StoreAddr(value.get_addr());
char* addr = GetAddr(index);
}