template 형식 연역
3가지 경우 1. 보편참조가 아닌 참조,포인터인 경우 2.보편참조인 경우 3.포인터도 참조도 아닌 경우 1. 보편참조가 아닌 참조,포인터인 경우 expr 이 참조이면 참조 무시한다. 패턴 부합 방식으로 T 형식 결정 template void func(ParamType& data); func(expr); *T&에 const 넘겨도 안전한 이유 const 가 붙으면 이 객체를 매개변수에 전달하는 호출자는 변수가 수정되지 않음을 기대하기 때문에 T에 대해 연역된 형식의 일부가 된다. * const 참조인 경우 param이 const 에 대한 참조로 간주, const 가 T의 일부로 연역될 필요가 X 2.보편참조인 경우 왼쪽값 = T와 ParamType 모두 왼쪽값&가 된다. 오른쪽값 = 1번의 규칙에 따른다...
2022.12.29