2014-10-06 46 views
-1

我想在cocos2dx中獲取static const int 3d數組長度。如何在cocos2dx中獲取static const int 3d數組長度

我在.h文件中定義了3d數組。

我的陣列是

static const int LEVEL[][15][7]= 
    { 
      /*L1*/{{1,1,20,30},{1,0,35,70},{1,1,65,70},{1,0,80,30}}, 
      /*L2*/{{1,0,15,33 },{1,0,34,83 } ,{1,1,15,62 },{1,1,34,13 },{1,1,61,83 },{1,1,79,33 } ,{1,0,61,13},{1,0,79,62 }}, 
      /*L3*/{{1,1,17,26 },{1,1,17,67 } ,{1,1,47,8 },{1,1,47,84 },{1,1,78,26 },{1,1,78,67 },{1,0,27,46 },{1,0,38,26 },{1,0,38,66 },{1,0,57,26 },{1,0,57,66 },{1,0,68,46 } }, 
      /*L4*/{{1,1,8,31 },{1,1,34,31 } ,{1,1,8,66 },{1,1,34,66 },{1,1,75,11 },{1,1,75,49 } ,{1,1,75,84 },{1,0,21,11 },{1,0,21,49 },{1,0,21,84 },{1,0,62,31 },{1,0,88,31 },{1,0,62,66 },{1,0,88,66 }}, 
      /*L5*/{{1,1,39,26 },{1,1,39,61 } ,{1,1,9,44 },{1,1,57,6 },{1,1,57,81 },{1,1,87,44},{1,0,22,16},{1,0,22,71},{1,0,57,34},{1,0,57,53},{1,0,72,26},{1,0,72,61}}, 
      /*L6*/{{1,0,14,34 ,0,0},{1,0,30,14,0,0 } ,{1,0,62,14,0,0 },{1,0,86,49,0,0 },{1,1,30,54 ,0,0},{1,1,46,34 ,0,0} ,{1,1,62,54, 0,0},{2,1,16,79,3,70}}, 
      /*L7*/{{2,1,20,11,3,64},{8,0,20,83,4,64},{1,1,61,34,0,0},{1,1,80,30,0,0},{1,1,88,57,0,0},{1,0,32,37,0,0},{1,0,40,65,0,0},{1,0,59,61,0,0}}, 
      /*L8*/{{2,1,11,40,3,24,0 },{3,1,47,5,4,24,0 },{8,1,58,40,4,24,0},{3,1,47,65,3,24,0} ,{4,0,28,10,1,10,315},{4,0,58,25,1,15,45},{4,0,28,75,1,15,45},{4,0,57,60,1,20,315}} 
}; 

我怎樣才能得到這個數組的長度?

+0

當你說「長度」時,你是什麼意思?請詳細說明。 – 2014-10-06 09:24:29

+0

我想打破所有陣列元素 如果我選擇L1陣列,這意味着 L1 => {{1,1,20,30},{1,0,35,70},{1,1,65, 70},{1,0,80,30}} 比使用第一個數組元素{1,1,20,30} 還知道這個數組元素的大小,並且比每個元素分配給x,y,rad,color 請描述如何使用這個陣列的水平結構 – 2014-10-06 09:36:01

+2

數組是固定的大小。內部維度(在你的情況下)是* always * 7整數。即使你使用較少的值初始化,最內層數組中總會有7個整數。如果你需要可變數量的條目,那麼你應該使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)。 – 2014-10-06 09:38:18

回答

0

就像C字符串始終以\0結尾,您可以添加{0}的最終(終止符)元素,您可以使用它來計算長度。