<T, R>
T がオブジェクトで、R が または のいずれかでvector<T*>
あるコンテナー テンプレート クラスを作成する必要がありますlist<T*>
。insert(T) size() などの一般的な操作をサポートする必要があります...
T data
リストまたはベクトルと呼ばれるクラスメンバーを保持しています。問題は、コードをどのように記述すれば、実行時にどの操作を呼び出すかを知ることがstd::list
できるかということstd::vector
です。
たとえば、コンテナー内の最初の要素を取得するにdata[0]
は、ベクターの場合とdata.front()
リストの場合で呼び出す必要があります。typeid
演算子を使用する必要がありますか?
if (typeid(R) == typeid(vector<T*>))
then ...
else if (typeid(R) == typeid(list<T*>))
then ...
それとももっと良い方法がありますか?