반응형
안녕하세요 판타지코딩입니다!
C++ 코드를 보다 보면 template <typename T> 라는 코드를 볼 수 있습니다. 오늘은 템플릿이 무엇인지 알아보고 공부해 보겠습니다.
1. 템플릿(template)이 무엇일까?
템플릿은 반환형이나 자료형을 정하지 않고 typename이라고 선언한 단어로 대체하여 상황에 따라서 알맞은 자료형으로 변하도록 하는 것입니다. 아래의 코드를 통해서 자세히 알아보겠습니다.
template <typename T>
T func(T a, T b)
{
T result = a + b;
return result;
}
가장 위에 template <typename T> 라는 코드를 작성해서 T라는 알파벳을 반환형과 자료형 대신 활용하도록 했습니다. func 함수의 반환형이 위치해야 할 곳에 'T'가 있고, 인자 a와 b의 자료형이 있어야 할 곳에 'T'가 있습니다. 그러므로 입력한 인자에 따라서 적절한 자료형이 적용되어 함수가 실행됩니다.
func(1, 2);
func(1.5, 1.7);
3
3.2
함수를 실행해 보았습니다. 첫 번째 함수에는 인자로 1과 3을 넣었습니다. int형 변수이기 때문에 실행 결과 4가 출력됩니다. 다음으로 float형인 1.5와 1.7을 넣어서 3.2가 출력됩니다. 만약 자료형이 int로 결정되어 있었다면 소수점 이하는 출력되지 않고 3이 출력되었을 것입니다.
그럼 오늘은 템플릿에 대해서 공부해 보았습니다.
감사합니다!
반응형
'C++' 카테고리의 다른 글
C++ cout으로 출력하기! - printf와 비교하기 (0) | 2023.04.18 |
---|---|
C++ ostream에 대해서 공부하자! (0) | 2023.03.09 |
자료구조 큐(Queue) 공부하기! (0) | 2023.03.07 |
자료구조 스택(Stack)에 대해서 공부해보자! (0) | 2023.03.06 |
C++ 복사 생성자와 디폴트 복사 생성자 (0) | 2023.03.02 |