C++언어 공부/개념 공부

2024.02.05 C++ 언어 공부 9일 차 (template (1))

코딩입문시작 2024. 2. 8. 13:55

템플릿

  • 함수나 클래스를 매개변수의 타입에 맞게 새로 작성하지 않더라도 동작할 수 있게 한다.
  • 템플릿의 종류는 함수 템플릿과 클래스 템플릿 두 가지가 있다.

template 설명

  • template는 위의 상황처럼 여러 자료형에 대해 같은 기능을 하는 함수 혹은 클래스에 사용된다. 한마디로, 자료형을 일단 정해두지 않은 채로 우선 작성 후, 나중에 입력되는 자료형에 따라 작동할 수 있다.

template 사용방법

  • 사용 방법은 원하는 함수나 클래스 위에 템플릿을 사용할 것을 적어두면 된다.
  • template<typename T> 혹은 template<class T>
  • (뒤에 세미콜론은 붙이지 않는다)
  • 만약 사용하고 싶은 자료형이 여러 개일 경우, 여러 개를 적어두면 된다.
  • template <typename T1, typename T2> 
  • T라는 이름을 사용하는 것이 일반적이지만, 원한다면 마음대로 사용할 수도 있다.

※헷갈림주의) 두번째에서 T2, 세번째에서 T3(강제형변환)는 리턴되는 자료형

 

함수 템플릿을 사용할 때 가능하면, 사용하는 자료형을 언급해주는 것이 좋다. 그것이 디폴트 이다. 

함수이름<자료형>(인수) 로 호출하면 된다.