さて、私はパブリッシュ/サブスクライブ パターンを設計しています (これはオブザーバー パターンではありません! 多くの人がこれを混同しています)。私の問題は次のとおりです。
トピックの列挙があります:
enum topics {gui, combat, physics};
次に、トピックごとに 2 つのコンテナーが必要です。現在、私はそれを手動で行っています:
std::vector <cSubscriber *> guiSubscribers;
std::vector <cEvent> guiEvents;
私がやりたいのは、列挙型をキーとして使用するベクターのコンテナーを持つことです。つまり、次の方法でアクセスできます。
events[gui] //it gives me access to vector of gui events
subscribers[combat] //this gives me access to vector of combat subscribers
[] のキーは、列挙型の値でなければなりません。これを行う方法はありますか、またはトピックごとに手動で行う必要がありますか?