相互にメッセージを交換するオブジェクトを必要とするソフトウェアを作成しています。メッセージには次の内容が含まれている必要があります。
Peer *srcPeer;
const char* msgText;
void* payload;
int payLoadLen;
Peer を管理する別のクラスがあるため、Peer はポインタでなければなりません。残りについては疑わしいです...たとえば、メッセージが作成されるときにメッセージテキストとペイロードをコピーし(2つの新しいバッファーを割り当てることにより)、メッセージのデストラクタに削除を配置します。これには、コンシューマー関数の削除を忘れるのを避けるという大きな利点があります (これらの関数を単純にするという言及ではありません) が、多くの割り当てとコピーが発生し、すべてが遅くなる可能性があります。したがって、ポインターを代入するだけで、デストラクタにすべてを削除させることができます...または...まあ、これは他のプログラミング言語ではGCがあるためジレンマでさえない一般的な状況です。あなたの提案は何ですか?また、最も一般的なプラクティスは何ですか?
編集:コンテンツを渡すためのベストプラクティスは何かを知りたいということです...それらを追跡する別のオブジェクト、またはおそらく共有ポインターを使用するなど...またはあなたは何をしますか...