Kiedy rozważyć dwie następujące przeciążeń:odwołanie do uniwersalnego odniesienia do priorytetu odniesienia?
template <class... T> void f(const T&... x);
template <class T> void f(const T& x);
mam gwarancję, że f(x)
zawsze zadzwonić drugą funkcję i nigdy nie będzie prowadzić do niejasności. W pewnym sensie druga wersja jest uniwersalnie traktowana priorytetowo w porównaniu z pierwszą dla jednego argumentu bez względu na jego typ.
Rozważmy teraz sytuację, w której istnieje uniwersalna odniesienia i const wersje referencyjne funkcji:
template <class T> void f(T&& x);
template <class T> void f(const T& x);
Moje pytanie brzmi: jest ich uniwersalny pierwszeństwo pomiędzy tymi dwoma funkcjami, niezależnie od typu X (r-wartość referencyjna, referencyjna, kwalifikatory cv, wskaźnik ...) jak w poprzednim przypadku? (a jeśli tak, jaki jest priorytet?)
Myślę, że to była [ta rozmowa] (http://www.youtube.com/watch?v=T5swP3dr190), która obejmowała to. – chris