C ++:如何为多维向量构造构造函数?

时间:2010-02-21 16:40:11

标签: c++ class vector multidimensional-array

我想使用类中的构造函数创建二维和三维向量。但是,我不知道如何使用多维向量。

一维作品:

class One{
    public:
        vector < float > myvector;

        One(int length) : myvector(length){}

};

二维不起作用:

class Two{
    public:
        vector < vector < float > > myvector;

        Two(int length, int width) : myvector(length)(width) {}

};

三维也不起作用:

class Three{
    public:
        vector < vector < vector < float > > > myvector;

        Three(int length, int width, int height) : myvector(length)(width)(height) {}

};

以下答案适用于二维向量。我希望以下代码为三维,但似乎是错误的

class Three{
    public:
        vector < vector <  vector < float > > > myvector;

        Three(int length, int width, int height) : myvector(length, vector<float>(width, vector<float>(height))) {}

};

1 个答案:

答案 0 :(得分:13)

对于二维情况,它应该是:

Two(int length, int width) : myvector(length, std::vector<float>(width)) {}

我会让你自己弄清楚第三种情况。