반응형

템플릿 2

C++ 템플릿(template) 이해하기

템플릿을 사용하여 프로그래밍 하는 것을 일반화(Generic) 프로그래밍이라고도 한다. 개인적으로 C++을 제대로 공부하기 위한 첫 번째 관문은 템플릿(template) 아닐까 생각한다. 템플릿을 알아야 STL(Standard Template Library)를 공부할 수 있기 때문에 이 관문을 거쳐가야 한다. 물론 템플릿을 제대로 이해하는 것이 만만한 영역은 아니지만 STL은 사용방법만 알면 깊은 이해없이도 기본적인 사용은 할 수 있다. 어찌되었건 템플릿을 제대로 공부하려면 큰 맘을 먹어야 한다. 여기에서는 템플릿의 기본적인 내용을 우선 정리해보려고 한다. 그렇다면 템플릿은 무엇인가? 식상하지만 많은 책에서 붕어빵 틀, 또는 모형 자 등으로 비유된다. 붕어빵 틀에 밀가루 반죽을 부어서 붕어빵을 찍으면 붕..

프로그래밍/cpp 2017.04.18

C++ 템플릿, 함수템플릿에 대한 이해

STL(Standard Template Library)의 문법적 토대가 되는 템플릿에 대해서 알아보도록 하겠습니다. 템플릿을 일종의 형틀입니다. 원하는 모양을 직접 조각하거나 빗는 것은 시간이 오래걸리지만, 형틀이 있다면 단순히 찍어내기만 하면 바로 만들 수 있습니다. 이번 포스팅의 주제인 함수 템플릿은 함수를 찍어내는 형틀이라고 생각하면 될 것입니다. 먼저 간단한 템플릿 함수를 예를 들어 보겠습니다. template 부분은 함수 템플릿의 정의 시작 부분입니다. 선언과 정의를 따로 하려면 다음과 같이 하면 됩니다. 또한 다음과 같이 두 개 이상의 타입을 전달받을 수도 있습니다. 여기서 핵심적인 부분은 T인데, 함수의 본체에서 사용될 타입입니다. 이렇게 함수템플릿을 작성하고 단순히 이 함수를 호출을 하게되..

프로그래밍/cpp 2014.06.16
반응형