共通のソース コードを共有するさまざまなプログラムの型に一意の識別子を自動的に (つまり、手動ではなく) 割り当てる方法はありますか? 別の「タイプXを使用する」ことを伝えるプログラムが必要で、もう一方のプログラムはその「X」が何を意味するかを知っています。もちろん、実行時に型を構築できないため、ソースコードを (部分的に) 共有します。ある種の識別子 (整数または文字列) から、たとえば、指定された型のオブジェクトを返すファクトリ関数へのマップを自動的に構築する方法が必要です。 .
私が選ぶ明白な選択はname()
inの結果ですstd::type_info
が、私が理解しているように、それはタイプ間で異なることさえ保証されておらず、std::type_info
インスタンスのアドレスを使用することは確かにプログラム間で機能しません。
C++11 は使えませんが、Boost は使えます。