Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Вставка в контейнер без конструктора копирования |
Автор: Tiarwe 16.2.2013, 23:47 | ||
Подскажите, как можно засунуть объект в контейнер без использования конструктора копирования? И можно ли вообще? Допустим есть код:
Мне нужно, чтобы объект a был в map. При этом конструктор копирования у объекта находится в приватной области, поэтому компилятор ругается. Может можно как-то в самом контейнере создать объект? Или без динамических объектов никак? |
Автор: maxim1000 17.2.2013, 08:26 |
если у Object есть конструктор перемещения (который с &&), может получиться что-нибудь вроде такого: object_list[std::move(a)]=1 тогда, конечно, сам a станет пригоден только для удаления |
Автор: NoviceF 17.2.2013, 09:35 |
Так может быть автор этого типа намерено запретил копирование объектов? Может они для этого не предназначены? |
Автор: Amp 17.2.2013, 17:19 |
emplace |
Автор: Tiarwe 17.2.2013, 19:07 |
Да, автор намерено запретил копирование. Просто мне надо было хранить в контейнере эти объекты. К динамике не хотел прибегать в целях упрощения (не следить за памятью)... Остановился на shared_ptr. Вопрос снят. |