Показать сообщение отдельно
Старый 10.05.2006, 15:26     # 6
GOre01
Junior Member
 
Аватар для GOre01
 
Регистрация: 10.08.2004
Адрес: Завис в конторе
Пол: Male
Сообщения: 180

GOre01 Луч света в тёмном царствеGOre01 Луч света в тёмном царствеGOre01 Луч света в тёмном царствеGOre01 Луч света в тёмном царствеGOre01 Луч света в тёмном царствеGOre01 Луч света в тёмном царстве
Цитата:
Сообщение от 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;
код не проверял, но мысль должна быть понятна.
__________________
Не нервируйте меня. Мне скоро негде будет прятать трупы!
GOre01 вне форума