티스토리 뷰

함수템플릿과 템플릿함수은 서로 다른 용어이다.

클래스와 인스턴스가 다르듯이 함수템플릿과 템플릿함수 또한, 다르다.


함수템플릿은 정의를 가르킨다.  

#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