複数のテンプレートオブジェクトの配列を作成したいと思います。
たとえば、次の2つのオブジェクトで満たされた配列を作成する方法:
Foo< A, B, C > FooItem (bar_, bor_);
Foo < D, E, F > FooItem2 (bur_, ber_);
myArray[0] = FooItem;
myArray[1] = FooItem2;
void *ポインタの配列?古典的な配列?
ありがとう !
さまざまなタイプのオブジェクトを保持できる配列が必要だということだと思います。すべての要素が同じ型である必要があるため、単純な配列ではそれができません。またvoid*
、オブジェクトの型を判別する方法がないため、あまり役に立ちません。
配列内のオブジェクトの使用方法に応じて、次のようなさまざまな可能性があります。
dynamic_cast
、typeid
オブジェクトと対話することができます。ペアのベクトルを使用できます。
std::vector< std::pair< Foo<A, B, C>, Foo<D, E, F> > > array;
代わりにプレーンなデータ配列が必要な場合:
std::pair< Foo<A, B, C>, Foo<D, E, F> > array[size];