存储通用T类类的C ++向量

时间:2017-08-14 13:34:54

标签: c++ templates generics vector

我有一个explain类,需要Foo类型值。我也想将它们存储在矢量中。我尝试了几种方法,但没有找到任何解决方案。请查看下面的源代码,了解我想要实现的目标。

T

1 个答案:

答案 0 :(得分:3)

如上所述,Foo<int>Foo<double>是不同的类型。同时template<typename T>Footemplate<class T>std::vector<Foo<T>>根本不是类型。它们可以被视为类型的布局。

如果您确实需要在一个容器中存储完全不同的类型,请使用类型擦除方法。例如来自C ++ 17 STL的容器std::any。看看example