개발 언어/cpp

CPP template

eeeun:) 2022. 1. 17. 18:15
반응형

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