Open Neargye opened 3 years ago
Antervis 25 апреля 2019, 16:22 emplace_iterator кажется не самой практичной идеей. Он не сможет удобно покрыть случай, когда T конструируется из нескольких аргументов, а если T конструируется из одного, то и copy/move итераторы подойдут, не так ли?
Nate Reinar Windwood 25 апреля 2019, 23:00 Antervis, а если из одного аргумента другого типа? Он гарантированно вызовет конструктор (при наличии), а не вывалится на компиляции?
Ну и, как минимум, бывают explicit конструкторы.
Если заполняешь контейнер каким-нибудь transform, совершенно не улыбается лишний раз оборачивать функцию в лямбду с явным вызовом конструктора. К тому же, это дублирование информации о типе. Контейнер и сам знает, что в нем хранится.
Перенос предложения: голоса +2, -0 Автор идеи: Nate Reinar Windwood
Пример реализации: back_emplacer.