|
1 / 1 / 1
Регистрация: 13.08.2015
Сообщений: 45
|
||||||
Как добавить объект в массив объектов?04.09.2015, 22:46. Показов 12789. Ответов 13
Метки нет (Все метки)
Начинающий, камнями прошу не кидаться
![]() Как создать динамический массив объектов я уже понял, а вот как добавить еще один элемент к уже существующему массиву я не понял. А так же как сочетать динамический массив объектов с конструктором класса и как добавить новый элемент к массиву? см. комменты в коде...
0
|
||||||
| 04.09.2015, 22:46 | |
|
Ответы с готовыми решениями:
13
Как добавить объект в массив, из другого скрипта? Как с json сериализовать объект, в которой вложена коллекция или массив других объектов |
|
265 / 165 / 56
Регистрация: 25.02.2015
Сообщений: 435
|
|
| 04.09.2015, 23:41 | |
|
чтобы создать такой массив - у объекта должен быть конструктор без аргументов. иначе никак.
добавить в уже выделенным массив еще один объект не выйдет. нужно создать новый, скопировать из старого в новый то, что там было и после этого в конец закопировать тот объект, которым вы хотели расширить массив. ну и если цель - не научится таким лоулевел вещам, а именно динамические массивы поюзать - смотрите в сторону контейнеров, в частности std::vector. там все уже придумано и сделано
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 04.09.2015, 23:48 | |
|
0
|
|
|
|
|||
| 04.09.2015, 23:48 | |||
|
На практике созданием нового массива большего размера(с резервированием) и копированием туда элементов. Также смотри реализацию std::vector<>
2
|
|||
|
265 / 165 / 56
Регистрация: 25.02.2015
Сообщений: 435
|
|
| 04.09.2015, 23:54 | |
|
ну не будем же мы рассказывать человеку у которого такие вопросы о том, как сделать массив объектов, у которых нет конструктора без аргументов. создание обычного массива требует наличие дефолтного конструктора у объектов. а тут ТС еще захотел чтобы в массиве указателей у объектов конструкторы повызывались. В общем в такие детали рано еще посвящать.
0
|
|
|
56 / 50 / 22
Регистрация: 17.03.2014
Сообщений: 143
|
||||||
| 05.09.2015, 01:11 | ||||||
Сообщение было отмечено babanty как решение
Решение
Вы можете удалить старый массив и перенаправить указатель на новый.
Пример на базовом типе данных: Кликните здесь для просмотра всего текста
А вообще люди дело говорят, используйте vector
1
|
||||||
|
1 / 1 / 1
Регистрация: 13.08.2015
Сообщений: 45
|
|
| 05.09.2015, 11:55 [ТС] | |
|
Всем спасибо
![]() О данных ограничениях с конструктором я знал, но думал что их как то можно обойти без сильных ресурсозатрат так же как и с добавлением нового элемента в массив. Вектор самое то для решения второй задачи по добавлению нового элемента, еще раз спасибо
0
|
|
|
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 3
|
||||||||||||
| 28.08.2016, 13:36 | ||||||||||||
), отработает правильно, и выведет всё верно:
0
|
||||||||||||
|
|
|||
| 28.08.2016, 13:59 | |||
|
Другое дело что имя массива неявно приводится к указателю на первый элемент.
0
|
|||
|
0 / 0 / 0
Регистрация: 28.08.2016
Сообщений: 3
|
|||
| 28.08.2016, 15:17 | |||
|
Я привёл это код просто чтобы наглядно показать - данные и указатели на них не одно и то же, и гонять туда сюда данные не имеет никакого смысла, нужно лишь изменить указатель, выделив по нему больше памяти.
0
|
|||
|
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
|
|||||||
| 28.08.2016, 17:18 | |||||||
0
|
|||||||
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,428
|
|
| 28.08.2016, 17:37 | |
|
Липпман "Язык программирования С++. Базовый курс".
2
|
|
| 28.08.2016, 17:37 | |
|
Помогаю со студенческими работами здесь
14
Добавить массив объектов в класс
Создать массив не менее чем из 7 объектов и найти в этом массиве объект по названию(и по свойствам) Создать массив не менее чем из 7 объектов и найти в этом массиве объект по названию(и по свойствам) Добавить массив объектов ссылочного типа в класс Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|