考虑一个二维数组(第一个维度有一个编译或运行时常量,第二个维度有一个编译时间常量)。例如
int arr[10][3];
或 int arr[n][3];
为什么不能做这样的事情:
arr[0] = {1,2,3,4};
或arr[n-1] = {1,2,3,4};
这是 C++ 标准选择还是根本不需要此功能/我错过了做这样的事情的方法吗?
由于多种原因这是不可能的。主要是因为语法不允许。但可能是因为这是一个不寻常的需求。
你可以足够接近:
int arr[10][5] =
{
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {1,2,3,4,5}, {0}
};
从技术上讲,您不需要指定任何未归零的东西:
int arr[10][5] =
{
{}, {}, {}, {}, {}, {}, {}, {}, {1,2,3,4,5}
};