본문 바로가기
컴퓨터/프로그래밍

템플릿을 사용한 제네릭 프로그래밍, C++ <>

by Begi 2019. 11. 14.
반응형

제네릭 프로그래밍(Generic Programming)이란 데이터 타입을 특정한 하나로 고정하지 않고 프로그램을 작성하는 것을 의미한다. 예를 들면, 함수의 인수와 내부 변수의 데이터 타입을 지정하지 않고 프로그램을 작성한 후 그 함수를 호출할 때 데이터 타입을 지정하는 것이다.

 

가장 대표적인 예가 C++의 template 이다. 다음과 같이 Swap 함수를 제네릭하게 작성하면 Swap 함수를 호출할 때 데이터 타입을 지정할 수 있다. 아래 코드에서는 데이터 타입을 int 형으로 사용하였고 short, long 등의 다른 데이터 타입으로도 호출 할 수 있다.

 

 template<typename T>
 void Swap(T a, T b)
 {
   T temp = b;
   b = a;
   a = temp;
 }


 int i = 1, j = 2;
 Swap( i, j );

 

반응형

댓글