初始化类内向量向量的两个维度

Goo*_*eds 2 c++ initialization class vector stdvector

我有一堂课

class A
{
    private:   
        std::vector< std::vector<int> > v;
    //other statements
}
Run Code Online (Sandbox Code Playgroud)

我想通过将它们传递给类的构造函数来初始化这个向量的两个维度,可能使用初始化列表。

This question询问整数向量的相同问题,询问向量向量的初始化,但在任何类之外。我想初始化两个维度的大小,但向量是一个类成员。

我怎样才能做到这一点?

app*_*ple 5

你可以把它们放在成员初始值设定项列表中


像这样

class A{
public:
   A(int dim1,int dim2):v(dim1,std::vector<int>(dim2)){}
private:   
   std::vector< std::vector<int> > v;
};
Run Code Online (Sandbox Code Playgroud)

或者你可以使用 vector::resize

class A{
public:
   A(int dim1,int dim2){v.resize(dim1,std::vector<int>(dim2));}
private:   
   std::vector< std::vector<int> > v;
};
Run Code Online (Sandbox Code Playgroud)