2013-11-04 90 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>