C/C++为什么不支持直接创建动态的多维数组呢?
如果要需要一个二维数组int dpsize1, size1和size2都是在程序运行中确定的。采用
int[][] dp = new int[size1][size2];
的方式,会报错“expected unqualified-id before '[' token”。
对这类需求可以通过
int** dp = new int*[size1]
for (int i = 0; i < size1; i++) {
dp[i] = new int[size2];
}
的方式来创建,但是这样得到的数组在创建是比较麻烦,内存空间也不一定是连续的。
为什么c/c++语言不支持直接采用new ints[s]的方式来创建多维数组呢?
其实现在的C标准是兹磁的,你可以这样写
c++的话确实是标准不兹磁,如果实在想追求效率的话只能写个函数包装一下了