참조 축약1 참조축약을 숙지하라 template void func(T&& param); Widget widgetFactory();// 오른값을 돌려주는 함수 Widget w;// 변수 (왼값) func(w);// func를 왼값 호출, T는 Widget&로 연역 func(widgetFactory());// func를 오른값 호출, T는 Widget으로 연역 두 func 모두 Widget이 전달되지만 Widget이 왼값인지 오른값인지에 따라 템플릿 매개변수 T에 대해 연역되는 형식이 다르다. 보편참조가 오른값/왼값 중 어느 값 참조가 될 것인지 결정한다. 그리고 이 메커니즘은 std::forward의 기본이 된다. 우선 C++에서 참조에 대한 참조는 위법이다. 하지만 보편 참조를 받는 함수 템플릿에 왼값을 넘겨주는 것은 컴파일이 된다. .. 2020. 7. 27. 이전 1 다음