这是C ++中有效的2D数组定义吗?

时间:2012-04-28 13:42:55

标签: c++ pointers multidimensional-array

我刚刚在C ++代码中看到了类似的内容(编译并可能在VS2010中运行):

int *p = new int[8, 6];
p[2, 3] = 5;

这是在C ++中创建多维数组的新标记吗?或者我错过了什么?据我所知,数组以这种方式声明[a] [b]而不是[a,b]在C ++中。如果您能解释这段代码,我们将非常感激。

感谢。

1 个答案:

答案 0 :(得分:7)

这是有效的语法,但它没有指定2D数组。它使用comma operator,因此它等同于:

int *p = new int[6];
p[3] = 5;