У меня есть класс customClass1
со свойством std::vector<std::shared_ptr<customClass2>>
.Создайте копию объектов, на которые указывают элементы вектора shared_pointers
Как я могу сделать копию customClass1
объекта, который содержит указатели на идентичных копий объектов указаны по элементам первого std::vector<std::shared_ptr<customClass2>>
?
I не хочу просто сделать копии указателей, содержащихся в векторе. Я хочу на самом деле сделать копии объектов, на которые указывают указатели, а затем указать указатели на эти новые объекты, сохраненные в моем втором векторном свойстве объекта customClass1
.
Немного непонятно, о чем вы спрашиваете. Общий указатель может быть разыменован (например, с использованием оператора '*'), чтобы создать копию содержащегося объекта, что они хранятся в векторе, как правило, не имеет значения. –
Наверное, я спрашиваю, есть ли способ сделать это без повторения каждого элемента и разыменования, т. Е. Автоматически создавать копии объектов с указателем, но с новыми указателями. – NewDogOldTricks
Нет, это невозможно. Простая копия вектора копирует shared_ptr не объекты, содержащиеся в них. –