2016-02-26 452 views
0

我想初始化一個向量數組。我怎樣才能做到這一點 ?初始化向量數組

下面的代碼是錯誤的:

vector<int> A[] = vector<int>()[10]; 
+2

[一次創建並初始化一個向量數組]的可能副本(http://stackoverflow.com/questions/3064595/create-and-initialise-an-array-of-vectors-in-one-go ) –

+0

@ user5871514我之前看到過這個問題,但它只是初始化一個向量數組。我不想這樣做。 – dimitris93

+0

'std :: vector arrayVectorOfInts [10];' –

回答

3
std::array<std::vector<int>, 10> 

這會給你一個10個載體的數組。

+2

它更易於閱讀。 –

+0

如果你認爲'A'應該是一個類變量,我需要'刪除[]'數組嗎? 'A =新的矢量 [頂點];'對我來說似乎更加清楚。 – dimitris93

+0

您需要刪除陣列中的內容。意思是你需要刪除10次。 –

1

儘量只

vector<int> A[10]; 

它會默認初始化所有十個vector對象。

+0

A數組是一個類的變量。我想在構造函數中這樣做。我怎樣才能改變你給我的代碼,以便它使用'='符號? – dimitris93

+0

我想我只是缺少'new'關鍵字 – dimitris93

+0

在這種情況下,只是'A {}'。 – aschepler