如何为数组类型调用new运算符

时间:2011-12-06 15:09:14

标签: c++ pointers types new-operator

static int (*g_data)[3];

我想new的{​​{1}} N元素。我只能这样做:

int[3]

我知道这没关系,使用g_data = (int(*)[3]) new int[N*3];将是另一种解决方案。但是,为了好奇,我可以直接致电struct new,即没有类型转换吗?

2 个答案:

答案 0 :(得分:5)

由于g_data是指向3 int的1D数组的指针,要制作N个这样的3个数组的数组,只需使用int [N][3]

g_data = new int[N][3];

答案 1 :(得分:1)

你可以这样做:

static int (*g_data)[3];
typedef int int_array[3];
g_data = new int_array[N];