2014-10-06 50 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}的最终(终止符)元素,您可以使用它来计算长度。