的是否有可能在ANY方法有類型的載體(DEF)S IN C++一十四分之一十一?向量的typedef
我想的第一件事是有一個基類的載體並以某種方式得到它的派生形式的類型定義,但我不能得到這個工作,無論我嘗試(不可能的最有可能的)。
僞C++:
class base
{
/* somehow access 'type' from derived */
}
template <typename T>
class derived : base
{
typedef T type;
}
vector<base*> vec;
vec.push_back(new derived<int>);
vec.push_back(new derived<double>);
vec.push_back(new derived<float>);
vec.push_back(new derived<string>);
for(auto& item : vec)
static_cast< item->type >(/* something */);
不,這聽起來像你需要一個智能指針或引用包裝的向量(我會建議這兩個前者)。但你仍然需要知道派生類型,甚至要求它。 – WhozCraig
你想要完成什麼?我可以做'類SomeClass; typedef SomeClass X; std :: vector v;'沒有問題。 –
rwols
您是否正在尋找[Boost.MPL](http://www.boost.org/doc/libs/1_54_0/libs/mpl/doc/index.html)或[Boost.Fusion](http:/ /www.boost.org/doc/libs/1_54_0/libs/fusion/doc/html/index.html)? – Angew