2013-11-04 58 views
0

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

这是我怎么想这样做,但我诚实真的不知道我在做什么:

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

注:我在C++初学者和新的总体规划这样下去容易在我身上在这一个家伙。

非常感谢

+4

你如何定义'的std ::矢量<'的*什么*在C++>?从那开始。现在递归...一次。 – WhozCraig

+3

我觉得很难相信这不是重复的东西。 – Duck

回答

4

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

std::vector<std::vector<your_struct> > vector_of_vectors; 
+0

非常感谢大家! –

1

就像你会实例的任何一个向量:

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

指针有什么用它做。当且仅当您需要一个指针向量时,才使用指针向量。

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>