我想为我的项目增长数组。我正在尝试定义一个函数,可以让我用新的大小替换数组。我想知道我该怎么做。
int growarray[10];
int length =20;
//grow increase size of growarray to 20
void grow(int length){
}
答案 0 :(得分:1)
std :: vector将是执行此操作的理想方式,如果您真的想要编写自己的动态数组,则需要在堆上声明您的数组并执行类似的操作...
int* growarray = new int[10];
然后“扩展”它......
int* temp = new int[20];
memcpy(temp, growarray, 10);
delete[] growarray;
growarray = temp;
使用这种技术时,通常会将数组扩展为常数因子(通常为2但有些库使用各种不同的因子)