请记住,我不能使用类或 vector ,只能使用数组。
无论如何,到目前为止我有这样的事情:
int** arrays = new int*[10];
arrays[0] = new int[99];
arrays[1] = new int[47];
我不完全确定,但我认为可以将值放入数组中,并以与二维数组相同的方式指向该数组。
那么这样的东西行得通吗?
arrays[1][30] = 5;
此外,如果我想删除其中一个数组(不是数组指针),是否可以这样做:
delete[] arrays;
最佳答案
在 C++ 中,对 new 的每个调用都应该有对 delete 的匹配调用。所以当你初始化数组时
int **arrays = new int*[10];
arrays[0] = new int[99];
arrays[1] = new int[47];
你必须删除它
delete [] arrays[0];
delete [] arrays[1];
delete [] arrays;
一般情况下阅读this答案和整个线程。
调用
arrays[1][30] = 5;
很好,因为已经分配了内存。
关于c++ - 如何将值放入数组的动态数组中并在 C++ 中删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25675756/