Можно ли делать perfect forwarding при использовании auto в параметрах функции?
С С++20 можно использовать т.н. abbreviated шаблоны функций, когда вместо явного имени шаблонного типа мы пишем auto
. Можно ли (и как) при таком синтаксисе делать perfect forwarding?
template <typename T>
void foo(T x); // is equivalent to
void foo(auto x);
template <typename T>
void foo(T&& x) {
bar(std::forward<T>(x));
} // is equivalent to ?
Источник: Stack Overflow на русском