Thin Template


Thin Template

// 함수의 갯수를 생각해보자. template class Vector { T* buff; int sz; public: int size() const {} bool empty() const {} void push_front(const T& a) {} T& front() {} }; int main() { Vector v1; Vector v2; Vector v3; } 4개의 함수 * 3개의 타입 -> 12개 함수가 만들어짐. 함수의 개수를 줄여보자.

T를 사용하지 않는 모든 멤버는 기반클래스로 만들자. class VectorBase { protected: int sz; public: int size() const {} bool empty() const {} }; template class Vector : public VectorBase { T* buff; public: void push_front(const ...


#template #Thin #씬템플릿 #템플릿

원문링크 : Thin Template