2 / 1 / 1
Регистрация: 01.08.2015
Сообщений: 27
|
||||||
1 | ||||||
Как динамически создать стандартный контейнер данных с элементами такого же типа, как полученный экземпляр?10.04.2020, 17:30. Показов 1353. Ответов 8
Всем привет! Имеет интерфейс и его реализация. Необходимо, чтобы в классе SomeActiv в его методе создавался вектор, элементы которого были такого же типа, как и полученный экземпляр класса. Как это реализовать?
0
|
10.04.2020, 17:30 | |
Ответы с готовыми решениями:
8
Как создать динамический массив типа string? Как создать класс такого массива? Как создать экземпляр класса динамически? Как создать экземпляр класса динамически? Класс как стандартный контейнер |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
|
|
10.04.2020, 19:14 | 2 |
Указатель или шаблон.
0
|
фрилансер
5832 / 5349 / 1100
Регистрация: 11.10.2019
Сообщений: 14,306
|
|
10.04.2020, 21:07 | 3 |
1
|
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
10.04.2020, 21:23 | 4 | |||||
Сообщение было отмечено Patifon_Kakao как решение
Решение
паттерн clone
1
|
2 / 1 / 1
Регистрация: 01.08.2015
Сообщений: 27
|
||||||
14.04.2020, 13:52 [ТС] | 5 | |||||
Не будет ли происходить в этом случае утечки памяти? Особенно если использовать следующим образом:
0
|
фрилансер
5832 / 5349 / 1100
Регистрация: 11.10.2019
Сообщений: 14,306
|
|
14.04.2020, 13:54 | 6 |
Patifon_Kakao, конечно будет утечка, временем жизни экземпляров нужно управлять, раз создаёшь их на куче.
Либо использовать std::shared_ptr
0
|
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||
14.04.2020, 14:57 | 7 | ||||||||||
правильно понимаешь.
перед разрушением вектора, нужно почистить:
например:
vector и shared_ptr сами о себе позаботятся
1
|
2 / 1 / 1
Регистрация: 01.08.2015
Сообщений: 27
|
||||||
14.04.2020, 18:53 [ТС] | 8 | |||||
Насколько я понимаю, корректна именно такая инициализация вектора.
0
|
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
14.04.2020, 18:58 | 9 |
в идеале - да.
тогда можно будет написать: vect[i] = instance.clone(); и не заморачиваться.
0
|
14.04.2020, 18:58 | |
14.04.2020, 18:58 | |
Помогаю со студенческими работами здесь
9
Как создать динамически расширяемый массив объектов пользовательского типа (структура User)? Как найти количество элементов в списке (Tlist), если переменная такого типа объявлена как private? Как динамически создать массив из динамически конструируемых экземпляров класса? Как удалить какой-либо элемент (Button, ComboBox etc.) динамически созданный и помещенный в контейнер Динамически создать экземпляр объекта, тип которого передан функции Как работать с данными такого типа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |