C++ で異なる型へのポインターのリストを実装する最良の方法は何でしょうか?
私はこのようなことを考えました:
enum MyType {...};
typedef std::pair<MyType, void*> Ptr;
std::vector <Ptr> list;
そして、リスト内のオブジェクトの 1 つにアクセスする必要があるとすぐに、適切な静的型キャストを実行します。
別のアプローチは、オブジェクトの種類ごとに異なるベクトルを持つことです。
std::vector<ClassA*> list_a;
std::vector<ClassB*> list_b;
...
問題は、すべての頂点が同じタイプではないグラフを実装する必要があることです。
編集。パフォーマンスは重要です。コードが効率的であるほど、優れています。