是否可以动态分配 vector 而不指定其类型?
我正在创建一个应该支持所有数字类型的容器类 它必须创建一个容器 vector ,稍后当第一个数字被插入其中时将指定该 vector 的类型。
首先这个代码正确吗?
private :
vector<int> stk ;
public :
template <typename Typ>
void push (Typ input)
{
vector<Typ> temp ;
stk = temp ;
}
第二:我需要以某种方式动态分配“stk” vector 而不指定类型。
最佳答案
如果这是 C++ 代码,则模板在编译时专用。您不能延迟将 vector (或任何其他模板类实例)分配到运行时。
解决方法是使用基类自定义您自己的数字类层次结构,例如 CNumeric
,并分配 CNumeric*
vector 。然后 vector 可以容纳您自己的类层次结构中的任何数字类型。但当然,这种解决方法可能非常效率低下。
关于c++ - 动态分配 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15820122/