当我想用模板化类型定义矢量的模板类型时会发生什么?我有一个类Customer,它是模板化的,因此构造函数可以采用类型为vector<T>
的参数。现在我想实例化一个Customer类型的全局Vector,并发现自己想要输入vector<Customer<Customer<Customer<etc<etc>>>>>
。
我知道这可能是一个愚蠢的问题,但我很想得到一个很简洁的解释,这个小泡菜我找到了自己。
提前致谢...
答案 0 :(得分:1)
如果您想要特定类型vector
的{{1}},那么一切都很简单:
Customer
或
template < typename T >
class Customer
{
public:
Customer( std::vector< Customer< T > > vec );
}
std::vector< Customer<CustomerType> > v;
但是,如果您想要Customer模板的不同实例,那么除了为类定义一些公共基础之外别无他法,并将其存储起来:
std::vector< Customer<CustomerType>* > v;