私は、NULL文字列を表すために、いくつかの独自のものを受け取り、それを解析し、(メッセージを表すクラスに埋め込まれた)静的なchar配列の束を作成するレガシーコードを持っています。その後、文字列へのポインターがすべて渡され、最終的に何らかのバッファーにシリアル化されます。
プロファイリングは、str*()メソッドに多くの時間がかかることを示しています。
ですので、可能であれば利用したいと思いmemcpy()ます。それを達成するには、長さを NULL 終端文字列へのポインタに関連付ける方法が必要です。私は考えました:
メモリの割り当てとスレッドの同期が必要なため、使用
std::stringすると効率が悪くなります。使えます
std::pair<pointer to string, length>。しかし、この場合、「手動で」長さを維持する必要があります。
どう思いますか?