0

我想创建一个向量,并且在该向量的每个单元格中,我想保留另一个向量,该向量将包含我定义的某个结构。我该怎么做?我是否应该定义一个从主向量中的每个单元到其他每个向量(包含我定义的结构)的指针?我应该访问使用指针创建向量的内存吗?

这就是我的想法,但老实说我不确定我在做什么:

vector<*vector> *vec = new vector<vector>

注意:我是 C++ 的初学者,一般来说是编程新手,所以对我来说,这个家伙要放轻松。

非常感谢

4

3 回答 3

4

一般规则是除非您需要,否则不要使用指针(和动态分配)。所以你可以简单地这样做:

std::vector<std::vector<your_struct> > vector_of_vectors;
于 2013-11-04T21:01:28.910 回答
1

就像你会实例化任何东西的向量一样:

std::vector<std::vector<MyType>> v;

指针与它无关。当且仅当您需要指针向量时,才使用指针向量。

于 2013-11-04T21:01:35.850 回答
1

你不需要指针,你可以使用

std::vector<std::vector<int>> vec( 100 ); // create a vector of 100 vector<int> 
vec[42].push_back(1764); // add an element to the 43rd vector<int>
于 2013-11-04T21:02:16.517 回答