创建一个动态分配的std::vectors数组



要创建一个动态分配的数组,我使用:

int *x = new int[100];

这将创建一个由100个int元素组成的数组。

但是,如果我使用:

std::vector<int> *x = new vector<int>(100);

这也创建了一个由100个CCD_ 2元素组成的数组。但是为什么它不创建一个由100个vector<int>元素组成的数组呢?我该怎么做呢?

为了实现您想要的目标,您需要执行以下操作:

std::vector<int> *x = new vector<int>[100];

这将动态分配100个向量的数组,每个向量将默认构造。

如果您想创建一个100个向量,每个向量包含100个整数,只需使用多个(嵌套)向量:

std::vector<std::vector<int> > x(100, std::vector<int>(100));

您需要将变量声明为向量的向量,而不是整数的向量。

std::vector<vector<int>> *x = new vector<vector<int>>(100);

最新更新