我有一个包含最后一项'num_of_types'的枚举类型。 (也就是说,例如它将是15) 我想要一个静态的array_of_types [num_of_types],以便轻松计算我创建的每种类型的数量。 我的想法是:array_of_types [the_type] ++;
但是,我不知道声明并初始化这个静态数组?
答案 0 :(得分:1)
这是你在找什么?
static TYPE staticArray[] = {
VAL1,
VAL2,
...
VALN
};
或
static TYPE staticArray[MAX_ELEMS];
如果您不想在分配数组时初始化元素。
你不能做什么同时是指定元素的数量以及提供和初始化列表。
答案 1 :(得分:1)
这是你想要的吗?
enum MyEnum
{
Type1=0,
Type2,
Type3,
NumTypes
};
// initialize the entire array with 0
unsigned countArray[NumTypes]={0};
声明该数组后,您可以像上面提到的那样使用它:
countArray[type]++;
答案 2 :(得分:0)
您可以像平常一样使用它:
enum E
{
A,
N
};
int main()
{
int a[N];
// Use 'a'...
}
在上面的示例中,变量a
被定义为整数数组,大小为N
。
答案 3 :(得分:0)
你可以这样做:
enum Types { TYP_1, TYP_2, /*...*/ num_of_types};
class A {
/*...*/
static int array_of_types[num_of_types];
};
int A::array_of_types[num_of_types];
这样你就可以创建一个数组,里面填充了数组数据类型的默认值(int为零)。