我在寫一段需要對象互相交換消息的軟件。 這些消息必須有下列內容:C++消息傳遞的疑惑
Peer *srcPeer;
const char* msgText;
void* payload;
int payLoadLen;
現在,同行中已是一個指針,因爲我有一個管理同行其他類。對於其餘的我很懷疑......例如,我可以在創建消息時複製消息文本和有效負載(通過分配兩個新緩衝區),然後將刪除消息放入消息的析構函數中。這具有避免忘記在消費者功能中的刪除(不提及使這些功能更簡單)的巨大優點,但它會導致許多副本的分配並且可以使一切變得緩慢。因此,我可能只是指出指針,並仍然有析構函數刪除eveything ...或者......這是一個普遍的情況,在其他編程語言甚至不是一個困境,因爲有一個GC。你有什麼建議?最受歡迎的做法是什麼?
編輯: 我的意思是我想知道傳遞內容的最佳實踐是什麼......就像有另一個跟蹤它們的對象,或者可能共享指針......或者你會做什麼...
我擔心的不是分配消息......而是內容傳遞。什麼是最好的策略......我會修改我的問題。 – gotch4