반응형
template이란?
함수나 클래스를 다시 작성하지 않고도 여러 자료형으로 사용할 수 있도록 하게 만들어 놓은 틀
template는 cpp 기본 내장이어서 헤더를 딱히 써주지 않아도 된다.
그렇다면 template를 왜 쓸까?
밑에 코드를 보면 쉽게 이해 가능!
int i_sum(int a, int b) {
return a + b;
}
double d_sum(double a, double b) {
return a + b;
}
원래는 sum을 구현하기 위해, 매개변수의 자료형이 다를 때마다 함수를 새로 만들어줘야 했다.
이게 너무 번거로우니깐 자료형을 지정하지 않고 모든 자료형을 매개변수로 사용 가능한 함수를 만들기 위해 template 사용!
typename으로 이름을 지정하고, 지정한 이름을 자료형처럼 쓰면 끝~
template< typename T >
T sum(T& a, T& b) {
return a + b;
}
728x90
'개발 언어 > cpp' 카테고리의 다른 글
CPP 가상 함수(Virtual Function) (0) | 2022.01.18 |
---|---|
CPP friend 클래스와 함수 (0) | 2022.01.18 |
CPP Container와 Iterator (0) | 2022.01.17 |
CPP struct class 기본 액세스 한정자 (0) | 2022.01.17 |
uint32_t 자료형이란? (0) | 2022.01.14 |
댓글