Динамические массивы...
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Цитата:
Originally posted by Gerret
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Вопрос теоретический или практический?
Если первое то тогда можно сделать так
temparr = new int[sizeof(array)+1];
for(int i = 0; i < count; i++)
{
temparr=array;
}
delete array;
array = temparr;
temparr = NULL;
delete temparr;
Ну в общем примерно так, хотя наверняка ошибок нагородил=)))Бодун млин=)))
А если практический то тогда смотри в сторону STL. Там это все уже реализованно.
Цитата:
Originally posted by Gerret
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
int *tmp=array;
array=new int[new_count];
memcpy(array,tmp,count*sizeof(int));
delete tmp;
tmp=NULL;
Для new, кажется, нет перераспределения (типа realloc)
Цитата:
Originally posted by Gerret
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Доброго времени суток всем.
Есть массив
int *array;
array = new int[count];
а как увеличить его размер уже после создания, при этом не теряя его содержимого?
Спасибо всем заранее!
Используй std::vector
(по тексту смотри, если чего не так, для себя делал)