STL - 4 (함수 템플릿)
Q. 이전 글(STL - 3) 마지막 부분을 해결할 수 있는 방법은?
- 함수 템플릿의 전문화 라는 것이 있다!
위 [Code1] 실행 결과는 아래처럼 나온다.
이전 글에서 말했듯이 컴파일러는 프로그래머의 생각을 완전히 이해하지 않는다. (S.T.U.P.I.D)
Q. 만약 Max(10.1, 20.4)를 호출한다면 Max(T,T)가 호출될까? 아니면 Max(double, double)이 호출될까?
정답은
Max<const double& a, const double& b> 전문화 버전 사용
왜애애애?? (개발자니까 항상 의문 갖는 습관을 기르자!)
- 호출 순서에 규칙이 있기 때문이다!
1. '전문화된 함수' 와 맞는지 검사한다.
2. '템플릿 함수' 와 맞는지 검사한다.
3. '일반 함수' 와 맞는지 검사한다.
위 순서를 잘 기억하고, '전문화 함수'를 만들도록 하자!
안그러면 힘든 버그를 만들 수 있다..
Author And Source
이 문제에 관하여(STL - 4 (함수 템플릿)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ymsection/STL-4-함수-템플릿-41fthcq1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)