在C++中,是否可以在程序运行时创建新数组?具体来说,假设我在一个类中有一个数据成员,变量的名称是array,它是大小为10的数组。假设在运行时我想要一个更大的数组,我可以在不使用指针的情况下做到这一点吗?我可以使用以下方法吗?

int[] expandCapacity(int currentCapacity) {
     int [] arr = new int[currentCapacity*2];
     currentCapacity*=2;
     return arr;
}

为什么我不能使用这种方法来扩展当前数组的容量,原因是:
currentCapacity = 10;
array = expandCapacity (currentCapacity);

如果这样做有效,则无需使用指针。我觉得我在这里缺少重要的东西。如果您能指出我所缺少的内容,我将不胜感激。

最佳答案

不,这是完全不可能的。

但是,以这种方式自己做纯属疯狂。使用std::vector<int>并让您的编译器实现者为您完成所有操作。

关于c++ - 无需指针即可随时随地获取更多内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11086052/

10-15 14:31