2015-05-11 53 views
0

我有關於在C數組的++陣列的索引一些混亂:索引到的std ::的std ::陣列陣列

我有:

array<array<int, SIZE_INNER>, SIZE_OUTER> arr; 

當我做索引,我假定以下:

arr[outer_index][inner_index] 

所以,outer_indexSIZE_OUTER陣列至上,然後將內索引次之。

這是真的嗎?

+9

是的,這是真的:) –

+0

請參閱[C++ 11中的多維數組](http://cpptruths.blogspot.com/2011/10/multi-dimensional-arrays-in-c11.html) –

回答

3

是的。這樣想:arr[o]訪問arr的第o個元素。元素是一個數組的事實也沒有多大改變。

隨後調用operator []前一次調用返回的訪問元素。

1

是的。讓它分解一點

array<int, SIZE_INNER> 

準備創建一個大小爲SIZE_INNER的數組。現在你包數組中

array<array<int, SIZE_INNER>, SIZE_OUTER> arr; 

所以內陣列是你的「列」和外部陣列是你的「行」。就像普通的二維數組一樣。

當使用[]操作符時,距離最右邊的那個最內層陣列。