C++ に変換している Java メッセージング API があります。メッセージは通常、string、int、double などの単純なデータ型を持ちます。メッセージが作成されると、すべてのメンバー変数がデフォルト値に初期化されます。このデフォルト値は、API が「null」値として認識します (つまり、どの値にも設定されません)。 )、たとえばInteger.MAX_VALUE
int 型の場合。null と見なされるフィールドはシリアル化されず、送信されません。
Java では、文字列は自動的に に初期化されるnull
ため、null の文字列フィールドと空の文字列 (メッセージで送信する正当な値) の文字列を簡単に区別できます。
文字列は自動的に空の文字列に初期化され、空の文字列は API 経由で送信する正当な値であるため、C++ でこれを処理する最善の方法はわかりません。文字列を何らかの制御文字にデフォルト設定することもできます (これは API では正当な値ではありません) が、これを行うためのより従来の方法またはより良い方法があるかどうか疑問に思っています。
私たちは皆 C++ に慣れていないので、明らかなアプローチを見落としている可能性があります。