c++ - 动态分配 vector

标签 c++ vector

是否可以动态分配 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/

相关文章:

c++ - 调试错误——无法打开文件 : . ./mingwrt-4.0.3-1-mingw32-src/src/libcrt/crt/crt1.c

c++ - 在基本模板函数中访问派生类的成员函数

R按索引创建分割向量列表

c++ - VC++ 中的 getopt()

c++ - const char* 指向栈上的一个char数组

python - 计算二维向量之间角度的最快方法

java - 将值添加到数组的数组列表的语法

c++ - 找到一种方法将映射中的匹配键和值 push_back 到 vector 中

c++ - 为什么 fill_n() 不适用于 vector.reserve()?

c++ - boolalpha大写