특수화
-
[template] 템플릿 특수화개발/C·C++ 2021. 5. 1. 13:12
템플릿은 기본적으로 일반화 프로그래밍(generic programming)을 위해 사용하지만 경우에 따라서는 다른 동작을 해야 한다거나 타입에 따라 효율성을 위해 구현을 달리 해야 하는 상황이 일어날 수 있습니다. STL 중에는 vector가 bool 타입에 대해서만 특수화가 되어 있죠. 템플릿 특수화는 함수에도 사용할 수 있고 클래스에도 사용할 수 있습니다. 먼저 함수를 살펴보겠습니다. 특수화에는 완전 특수화와 부분 특수화가 있는데, 완전 특수화는 타입을 구체적으로 명시하는 것을 말합니다. 특수화를 할 때는 일반적으로 만들어놓은 템플릿의 형식을 벗어나면 안 됩니다. 다르게 하면 그냥 다른 함수가 되는 것입니다. #include using std::cout; using std::endl; class Cl..