Здравствуйте, Kernan, Вы писали:
K>А для чего такое можно использовать и насколько это быстро?
Это нужно для оптимального захвата по значению в лямбдах. В одном списке фактических параметров могут одновременно присутствовать как lvalue, так и rvalue выражения. Этот подход обеспечивает при захвате перемещение для перемещаемых объетов и копирование для неперемещаемых. Особенно это актуально в тех случаях, когда во входных параметрах присутствуют объекты классов, для которых копирование запрещено, таких как std::unique_ptr, например.
--
Справедливость выше закона. А человечность выше справедливости.