0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 48
|
|
1 | |
Выделение памяти под новый объект13.05.2010, 02:05. Показов 1453. Ответов 8
Метки нет (Все метки)
Люди, посоветуйте, пожайлуста, как в уже созданный массив из N объектов добавить ещё один объект?
Преподаватель сказал, что просто надо выделить память под этот объект. Я поняла, что надо снова выделить память на N+1 объект; скопировать существующие N объектов + 1 новый; освободить старую память........................................Только не понимаю, как программно скопировать в выделенную память существующие N объектов????????? Добавлено через 32 минуты Ну неужели это так трудно, что ни у кого никаких идей?Как скопировать массив объектов в новую память?- просто так чтоли: strcpy(память, obj[N]) ??????????????? напишите хоть какие-то мысли., пребольшое пожжжжайлустаааааааааааааа
0
|
13.05.2010, 02:05 | |
Ответы с готовыми решениями:
8
Динамическое выделение памяти под объект Динамическое выделение памяти под объект класса Влияет ли конструктор на выделение памяти под объект? Как работает динамическое выделение памяти под объект? |
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.05.2010, 02:32 | 2 |
У меня в одной книженции написано:
Функция void* realloc (pointer, size) Изменяет размер предварительно размещённого в памяти блока.. И ТАК ДАЛЕЕ Изменяет размер То есть передавай вторым аргументом НОВЫЙ размер, который тебе над. То сть если один элемент массива имеет размер 34 байта, а всего в массиве 5 элементов, тебе надо шестой пихать кудато, вот пиши: realloc (pointer, 34* 6); А там уж как Бог даст, есть свободжное место у оси- даст она тебе память, (да ещё и массив скопирует туда) нет- на нет и суда нет. Не всё коту масленица. С остальным сама разберись. Уж. ПИши давай.
1
|
13.05.2010, 10:20 | 3 | |||||
1
|
54 / 50 / 9
Регистрация: 16.05.2008
Сообщений: 162
|
|
13.05.2010, 11:44 | 4 |
Litta,твой ход мыслей почти верен. Смотри функцию memcpy.
1
|
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 48
|
|
13.05.2010, 15:34 [ТС] | 5 |
BornLeader,
fasked, kravam, Ребята, большое, вам , конечно, спасибо...Но мы пишем на старом borland-м компиляторе , так что все эти новые функции к нему не применимы. Попробую есчо обратиться: я совершенно не понимаю: возможна ли такая запись: strcpy(sss[N+1], obj[N])????? Можно ли вообще копировать объекты????или , может, надо копировать их поля????????? Вот со строками всё понятно, там просто написать strcpy(s1, s2).. .................А вот как быть с объектами?
0
|
13.05.2010, 15:50 | 6 | ||||||||||
Litta, мы тебе и не предлагаем пользоваться новыми функциями, все старое-доброе.
про копирование BornLeader уже говорил, пользоваться надо не strcpy, а memcpy. Например:
А вообще ни к чему эти мучения, если есть realloc - смотри мой пост выше
1
|
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 48
|
|
14.05.2010, 02:30 [ТС] | 7 |
fasked,
ааааааааааа!!!!!эт не то!!!!!!!! Ну как же добавить в телеф. справочник новое имя????????? Что после написать: telbook * f; f= new telbook ????????????
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
14.05.2010, 02:42 | 8 | |||||
Теьбе же надо было к существующему массиву прилепить ещё один элемент, это именно realloc ...А вообще определилась бы, что ли, что именно тебе надо...
0
|
14.05.2010, 08:23 | 9 |
0
|
14.05.2010, 08:23 | |
14.05.2010, 08:23 | |
Помогаю со студенческими работами здесь
9
Создание указателя на объект и выделение памяти Выделение памяти под структуру Выделение памяти под указатель Выделение памяти под структуру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |