gpt4 book ai didi

c++ - 复制指针

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:13 24 4
gpt4 key购买 nike

我正在通过网络从客户端 <> 服务器发送一些数据。我正在读取一个没有任何问题的数据包,尽管由于某种原因我无法复制 SimpleTestPacket 指针。我曾尝试使用 memset 出现段错误。

代码:

typedef struct simpleTestPacket_t {
uint32_t type;
uint8_t point;
int32_t value;
} SimpleTestPacket;

void onReceivePacket(uint8_t header, const char* data, size_t count) {
const SimpleTestPacket* packet = reinterpret_cast<const SimpleTestPacket*> (data);

SimpleTestPacket* independentPacket = nullptr;
memset(independentPacket, packet, sizeof(SimpleTestPacket) * count);
}

如何将 packet 指针复制到 independentPacket 变量,以便我可以存储它供以后使用?是否可以在不分配内存的情况下制作拷贝,我稍后必须删除

最佳答案

只是放弃不必要的指针业务,制作一个本地拷贝并处理它:

const SimpleTestPacket* packet = 
reinterpret_cast<const SimpleTestPacket*> (data);

auto independentPacket = *packet;

现在 independentPacketpacket 的本地拷贝,带有 automatic storage duration .

关于c++ - 复制指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38014033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com