我已經在網上搜索了它,但我沒有得到滿意的結果。如何使用「矢量矢量」?
我想創造這樣
vector< vector<int*> > test_vector;
如何填寫載體這個載體?如何訪問它的成員?也許有人知道網上的一些很好的教程?
親切的問候 MIKEY
我已經在網上搜索了它,但我沒有得到滿意的結果。如何使用「矢量矢量」?
我想創造這樣
vector< vector<int*> > test_vector;
如何填寫載體這個載體?如何訪問它的成員?也許有人知道網上的一些很好的教程?
親切的問候 MIKEY
只要記住的test_vector
每個元素都是vector<int*>
類型。填寫每個元素向量即可填寫test_vector
。
您可以像訪問任何多維數組一樣訪問它。請參閱:
int *p = test_vector[0][0];
或者:
int *p = test_vector.at(0).at(0);
謝謝!我重新考慮了這個問題,並且爲了編寫一些測試程序,這些測試程序幫助我理解! – 2010-06-16 17:29:53
你類似的一個問題張貼在DreamInCode:http://www.dreamincode.net/forums/topic/37527-vector-of-vectors/
PS 如果你想使用某種類型的矩陣,我寧願只使用一維矢量地圖(因爲性能)的訪問。
例如矩陣M具有m行和n列:可以映射調用
M [i] [j] = x至M [我* N + j]的= X。
這假設OP希望每個內部矢量具有相同的尺寸......這可能不是當前的問題。 – andand 2010-06-15 18:09:39
因此,我在我的答案中使用矩陣。 – LonliLokli 2010-06-15 21:24:37
通過在其中放入載體來填充矢量矢量。
您以與其他矢量相同的方式訪問其成員。
我肯定不會使用int *作爲你的向量的內容。如果你要存儲數字,只需使用int(或double/float/...)。指針的使用使得當你的矢量被破壞時你必須刪除它們中的每一個。否則,你會得到一個內存泄漏。 – rubenvb 2010-06-15 17:59:14
請參閱:http://stackoverflow.com/questions/823562/multi-dimensional-vector – Shog9 2010-06-15 18:06:07
我知道你的關注,但上面的代碼片段只是一個示範。實際上,我必須處理指向對象的指針。 – 2010-06-15 21:33:11