使用默认构造函数初始化std :: vector

Him*_*ury 5 c++ c++-standard-library

我有一个类字段,它是一个std :: vector.我知道我希望这个向量包含多少个元素:N.如何用N个元素初始化向量?

Jer*_*fin 7

class myclass {
   std::vector<whatever> elements;
public:
   myclass() : elements(N) {}
};
Run Code Online (Sandbox Code Playgroud)


Jam*_*lis 6

std::vector 有一个构造函数声明为:

vector(size_type N, const T& x = T());
Run Code Online (Sandbox Code Playgroud)

您可以使用它来构建std::vector包含的N副本x.默认值x是初始化的值T(如果T是具有默认构造函数的类类型,则值初始化是默认构造).

std::vector使用此构造函数初始化数据成员非常简单:

struct S {
    std::vector<int> x;
    S() : x(15) { }
} 
Run Code Online (Sandbox Code Playgroud)