我正在编写一个需要在彼此之间交换消息的对象的软件。消息必须具有以下内容:
Peer *srcPeer;
const char* msgText;
void* payload;
int payLoadLen;
现在,Peer 必须是一个指针,因为我有另一个管理 Peers 的类。剩下的我很怀疑......例如,我可以在创建消息时复制消息文本和有效负载(通过分配两个新缓冲区),然后将删除放在消息的析构函数中。这具有避免忘记消费者函数中的删除的巨大优势(没有提到使这些函数更简单),但它会导致许多分配和复制,并且会使一切变慢。所以我可能只是分配指针并且仍然让析构函数删除一切......或者......这是一种常见的情况,在其他编程语言中甚至不是两难选择,因为有 GC。你有什么建议,最流行的做法是什么?
编辑:我的意思是我想知道传递内容的最佳实践是什么......比如拥有另一个跟踪它们的对象,或者可能是共享指针......或者你会做什么......