2013-10-25 57 views
2

我知道,你可以初始化向量1D用下列方式一定的價值:Initialzing二維向量在C++

vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100 

現在我想這樣做同樣的事情用一個2D向量。我知道下面將給出一個錯誤,因爲沒有指定列的尺寸是:

vector<vector<int> > vec(10, 100); 

那麼,有沒有辦法做到這一點?另外,我想要保持2d向量中每個向量的列大小相同(即,nxn網格)。

或者我可以用某種方式來使用「std :: fill()」函數來實現這個功能?而且這個功能可以擴展到nxm網格嗎?

+0

「2D向量」的元素是向量的向量。所以如果你知道如何初始化一個向量,你就知道如何初始化一個向量向量。 – juanchopanza

+0

你可以使用'boost :: multi_array' – Kunal

回答

6
vector<vector<int>> vec(10, vector<int>(10, 100)); 
       //  n    m value 

這將創建大小10個的矢量的矢量和與初始化爲100