6. Effective Modern C++ Study
C++ Korea6
auto template
direct mapping
type deducing type deducing
7. Effective Modern C++ Study
C++ Korea7
template : expr을 이용해 ParamType과 T를 타입 추론한다.
auto : auto가 템플릿에서 T의 역할을 , 형식 지정자(type specifier)가
ParamType의 역할을 한다.같은 방식으로 타입 추론한다.
auto param = expr;
8. Effective Modern C++ Study
C++ Korea8
conceptional template
template<typename T>
void func_for_x(T param);
func_for_x(27);
template<typename T>
void func_for_cx(const T param);
func_for_cx(27);
template<typename T>
void func_for_rx(const T& param);
func_for_rx(27);
auto로 변수 선언
auto x = 27;
const auto cx = x;
const auto & rx = x;
9. Effective Modern C++ Study
C++ Korea9
conceptional template
template<typename T>
void func_for_x(T param);
func_for_x(27);
auto로 변수 선언
auto x = 27;
컴파일러가 하는 일
auto로 변수를 선언 -> 각각 맞는 템플릿을 호출 ->
템플릿 타입추론 -> 추론한 형식에 맞는 initializing expression 호출