2017-06-02 53 views
-2

我需要一個選項來改變我的向量或數組的維數。我的意思是我正試圖獲得一個選項,我可以從中獲得一些尺寸。從一個文件,然後創建具有該維數的向量或數組。我可以以某種方式使我的矢量/數組動態地改變維數的數量嗎?

當我寫

int **array = new int*array 

vector< vector <int> > vec 

我已經定義dimentions的數量。我可以在C++中獲得動態維度嗎?如果沒有,我有什麼語言可以做到這一點?

+0

所以你想要將一個1d數組或單個'vector'變成一個2d數組或'vector'? (例如,您有'std :: vector ',但是您需要'std :: vector >'?) – Tas

+0

或者您是否需要大小?就像你有一個大小爲10的數組/矢量,但是在閱讀文件時需要更多? – Tas

+1

推薦編輯添加一些內容,「我從這個<例子開始這裏>開始,我想以結束。」現在有很多不同的方式可以解釋這個問題。 – user4581301

回答

1

具有一個維度的數組可以表現爲多維。

例如,而不是int multi_dimensional_array[2][3][4];你可以寫int single_dimensional_array[2 * 3 * 4];

然後,訪問元素,multi_dimensional_array[i1][i2][i3];成爲single_dimensional_array[(i1 * 3 * 4) + (i2 * 4) + i3];

您可以將同樣的事情,您的問題:寫int* ptr = new int[...];與任何數量和規模的尺寸是。

相關問題