나는 다음과 같은 두 가지 오버로드를 고려하는 경우 :범용 참조 대 const 참조 우선 순위?
template <class... T> void f(const T&... x);
template <class T> void f(const T& x);
내가 f(x)
항상 두 번째 함수를 호출하고 모호함으로 이어질하지 않을 것이라는 보장이있다. 어떤면에서 두 번째 버전은 유형이 무엇이든 하나의 인수에 대해 첫 번째 버전과 비교하여 보편적으로 우선 순위가 매겨집니다. 이 두 기능 사이에 보편적 우선 순위에 관계없이 x의 유형 (자신이다 :
template <class T> void f(T&& x);
template <class T> void f(const T& x);
내 질문은 :
지금 보편적 참조 및 함수의 const를 참조 버전이 상황을 고려 r 값 참조, 참조, cv 한정자, 포인터 ...) 앞의 경우와 비슷합니까? (그렇다면 우선 순위는 무엇입니까?)
나는 이것을 포함하는 [this talk] (http://www.youtube.com/watch?v=T5swP3dr190)라고 생각한다. – chris