2013-06-25 138 views
0
_classA **_TTT[3]; 
_TTT[n][_num_ttt[n]] = new _classA(3,5); 

可我知道什麼是的多維數組分配

_TTT[n][_num_ttt[n]] 

這個動態數組的工作?如何感激,如果你能提供給我的圖形視圖如何實際動態指針指向其他,以及如何解釋來形成 [ ][ ]。 謝謝。

+2

然而,它的工作,它應該被燒死。 –

+0

@BartekBanachewicz 你能告訴我爲什麼嗎?這不是正確的方法嗎? –

+0

C++提供了對原始數組的有用抽象,使您可以拼出更清晰的語法和更精確的語義。 –

回答

1

捷克這Tutorial on MultiDim Arrays,它可能會給你的黑暗的房間帶來一些光。

但基本上你只是存儲一個數組數組。數組只不過是指向數據點的指針集合。在C++中,您可以將指針指向其他指針,然後再指向該值。

除非你真的需要它,否則不要使用它,因爲很多程序員很快就會被它弄糊塗了。一個應用程序將是一個地圖或圖片,您需要X/Y座標,但除了可以通過其他方法簡化操作之外。

2

_TTT是一個靜態數組,包含三個指向指向classA的指針。 _TTT[n]給了我們一個指針指針,_num_ttt[n]只是另一個索引(就像我會那樣),所以,_TTT[n][i]最終解析爲指向第n個指針數組中的_classA的第i個指針。然後在右側分配new