У меня есть объект класса, который содержит vector<unique_ptr>
. Я хочу, чтобы копия этого объекта запускала неконстантные функции. Оригинальная копия должна оставаться const.Уникальная копия вектора <unique_ptr>
Как выглядит конструктор копирования для такого класса?
class Foo{
public:
Foo(const Foo& other): ??? {}
std::vector<std::unique_ptr> ptrs;
};
«Уникальный» здесь не означает «необычный». – molbdnilo
@molbdnilo. Вы можете скопировать данные, на которые указывает уникальный_ptr. 'data = * ptr;' –
Уникальный означает только тот. Копирование чего-то уникального - это противоречие в терминах. Я подозреваю, что вам нужны 'std :: shared_ptr', если вам нужны копии. – Galik