c ++:定义可以作为可扩展数组的函数

时间:2014-08-02 12:02:35

标签: c++ arrays

我想为我的项目增长数组。我正在尝试定义一个函数,可以让我用新的大小替换数组。我想知道我该怎么做。

int growarray[10];
int length =20;
//grow increase size of growarray to 20
void grow(int length){

}

1 个答案:

答案 0 :(得分:1)

std :: vector将是执行此操作的理想方式,如果您真的想要编写自己的动态数组,则需要在堆上声明您的数组并执行类似的操作...

int* growarray = new int[10];

然后“扩展”它......

int* temp = new int[20];
memcpy(temp, growarray, 10);
delete[] growarray;
growarray = temp;

使用这种技术时,通常会将数组扩展为常数因子(通常为2但有些库使用各种不同的因子)