마법의 키워드
template <typename T>를 알아보자
이놈이 있기 전까지 우린 항상
int arr[n]
type을 지정했다
그리고 매번 STL의 vector, list등을 사용할 때
vector <int> 에서 <int> 이 꺽새 안에 들어가는 datatype을 왜 명시하는 것이었나?
[구문]
template <typename T>
class Class_Name {
}
이 마법의 구문을 클래스 상단에 명시하면
클래스 생성시 어떤 타입이든 명시한 typename으로 대치시켜준다. (컴파일러단에서 수행)
따라서 string, int, etc... 어떤 타입이든 담을 수 있었던 것이다.
템플릿(template)이란 단어가 의미하는 '틀', 어떤 데이터 타입이든 담아낼 수 있는 class 틀을 의미한다.
배열 내의 최대 값을 반환하는 템플릿 함수를 만들어봤다.
[Reference]
https://modoocode.com/219
'C > C++' 카테고리의 다른 글
[C++] typedef 대신 using을 사용하자 (0) | 2020.03.30 |
---|---|
[C++] Lambda Function (0) | 2020.03.30 |
[C++ 11] NULL vs nullptr (0) | 2020.03.21 |
[C++] auto (0) | 2020.03.21 |
[std] Vector (0) | 2020.03.21 |