我可以将数组放在c ++中的数组中吗?

时间:2012-12-13 21:47:48

标签: c++ arrays

我仍然感到困惑。我可以这样做吗?

int x[y[3]]

数组中的数组?

这是正确的格式吗?

谢谢!

3 个答案:

答案 0 :(得分:6)

如果int x[y[3]];是一个整型常量表达式,则

y[3]有效,并且它将声明一个y[3]元素数组。否则它无效。


如果您正在寻找2D阵列,请尝试以下方法:

#include <array>
std::array<std::array<int, 3>, 4> x;

如果您想减轻痛苦,可以按照Cat Plus Plus的建议查看Boost.MultiArray

答案 1 :(得分:0)

即使假设y[3]是整数类型(否则没有意义),c ++中不支持VLA(可变长度数组)。它们是C99的一部分,但不是c ++。因此,您的代码不好。

有些编译器确实支持VLA,但仅作为扩展。

答案 2 :(得分:-7)

就像这样

int[,] myArray = new int[1][2];
myArray[0][1] = 1;
myArray[1][1] = 1;