C++11부터 rvalue reference를 지원하는 것은 이미 공부해서 알고 있었다. 그런데 rvalue reference만 공부하면 자칫 '&&가 붙으면 무조건 rvalue reference다' 라는 오류에 사로잡힐 수 있다. 사실은 그게 아니다. &&가 붙어도 lvalue reference인 경우도 있기 때문이고 그것이 universal reference의 경우이다. universal reference는 &&로 선언된 변수나 인자가 타입 추론이 필요한 경우를 의미하며 이때는 rvalue/lvalue reference 모두 가능하다. 스콧 마이어씨의 글에는 다음과 같이 적혀있다. If a variable or parameter is declared to have type T&& for some de..