是否有可能以任何方式在C++11/14中拥有类型(def)的向量?
我尝试的第一件事是拥有一个基类的向量,并以某种方式从它的派生形式中获取 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 */ );