高パフォーマンスの C++ を実行する必要があるため、可能な限りデータのコピーを避ける必要があります。
したがって、文字列バッファーを zmq::message_t オブジェクトにコピーせずに直接割り当てたいと考えています。しかし、送信の成功を回避する文字列の割り当てが解除されているようです。
コードの一部は次のとおりです。
for (pair<int, string> msg : l) {
comm_out.send_int(msg.first);
comm_out.send_int(t_id);
int size = msg.second.size();
zmq::message_t m((void *) std::move(msg.second).data(), size, NULL, NULL);
comm_out.send_frame_msg(m, false); // some zmq-wrapper class
}
メッセージが送信される前に文字列の割り当てが解除されないようにするにはどうすればよいですか? そして、文字列の割り当てが正確に解除されるのはいつですか?
よろしく