继承向量和初始化

blu*_*kin 1 c++ inheritance vector

我试图从C++向量继承一个类并在构造函数中初始化它.我该怎么做?例如:

class Dataset:public std::vector<float>{
    public:
            Dataset(vector<float> val):*baseclass*(val){}
            // bruteforce way. // Dataset(vector<float> val){//for every val[i] call push_back(val[i]);}
Run Code Online (Sandbox Code Playgroud)

当然没有什么作为基类,我的意思是上面的语句是我想用val初始化向量的数据.如果没有push_back每个元素,我该怎么做?

wil*_*ell 8

不要衍生自std::vector<>.这个课程从未打算从中衍生出来.使用类的实例作为成员:

struct Owns {
    Owns() : the_vector_(42, 128) { }

private:
    std::vector<float> the_vector_;
};
Run Code Online (Sandbox Code Playgroud)