Цитата:
|
Сообщение от Kvarx
Можно в принципе так сделать, не уверен, что это хорошо:
//имеем изначально
int* p=new int[N];
//увеличиваем длину на L
int *p1=new int[N+L];
for(int i=0;i<N;i++){
p1[i]=p[i];
}
p=p1;
delete [] p1;
Как написал Drakosha можно использовать библиотеку STL, но наверно для тебя это будет пока сложно (надо знать, что такое классы, шаблоны и с чем их едят)
realloc() - судя по названию, относится просто к C, но про нее стоит прочитать в MSDN
|
Очень долго будет код работать.
Лучше так:
Код:
int *p = new int [size];
...
int *p1 = new int[newSize];
memcpy((void*)p1, (void*)p, ((newSize>size)?size:newSize)*sizeof(int));
delete [] p;
p = p1;
size = newSize;
код не проверял, но мысль должна быть понятна.