인자추론

template inline T1 max(T1 const& a, T2 const& b) { return a < b? b:a; }; 위의 함수는 간단히 큰 함수를 반환하는 함수이다. 이를 사용할때 조심해야 할 부분이 있다. max(2,2,7); 을 사용하게 되면 분명 큰 수는 2.7이지만 반환값은 2가 된다. 그 이유는 반환값이 T1으로 되어있기 때문이다. 그렇다고 반환값을 T2로 할수도 없다. 이를 위한 해결로 아래와 같이 인자를 세개를 받도록 한다. template inline RT max(T1 const& a, T2 const& b) { return a < b? b:a; }; 첫번째 인자로 반환자료형을 받는데 첫번째 인자로 둔 이유는 간단하다. 인자추론을 사용하여 사용시 간편하게 하기 위해서이다. 만..