メッセージIDに対応する一連の定数文字列があります。これらの定数は、アプリケーションのさまざまなクラスで使用されるため、一元化された場所を作成しようとしています。私はもともとそれらを含む名前空間を作成しようとしていました:
// MessageIDs.hh
namespace MessageIDs {
const std::string kMessage1("Message1");
...
}
それから私は内部/外部リンケージの定義について読み始めました、そして今私はいくつかの質問があります。
1)定数を作成しないことの唯一の欠点は、定数が内部リンクを持っているため、それらをテンプレート引数として使用できないという事実を外部化することですか?
2)私が気付いていない私のアプローチに他の欠点はありますか?