티스토리 뷰
함수템플릿과 템플릿함수은 서로 다른 용어이다.
클래스와 인스턴스가 다르듯이 함수템플릿과 템플릿함수 또한, 다르다.
함수템플릿은 정의를 가르킨다.
#include<iostream> using std::cout; using std::endl; template <typename T> T add(T a, T b){ return a+b; } int main(){ cout<<add<int>(3, 5)<<endl; cout<<add<double>(3.2, 5.1)<<endl; cout<<add<float>(3.5, 5.1)<<endl; return 0; }
template <typename T>
T add(T a, T b){
return a+b;
}
이 정의를 바로 함수템플릿이라고 한다.
이 함수템플릿을 컴파일러가 한번 번역하여 생성한다.
add<int>(3, 5)의 경우에는 int형이므로, 다음 코드로 변경시킨다.
int add<int>(int a, int b){
return a+b;
}
이 생성된 함수를 템플릿 함수라고 한다.
'Language > C++' 카테고리의 다른 글
[C++] JsonCpp 설치 및 설정하기 (0) | 2014.02.03 |
---|---|
[C++] 예외처리 (0) | 2013.10.06 |
[C++] 멤버 이니셜라이저 (0) | 2013.10.05 |
[C++] 생성자와 소멸자 (0) | 2013.10.05 |
[C++] namespace (0) | 2013.10.05 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday