Thin Template


Thin Template

// 함수의 갯수를 생각해보자. template<typename T> class Vector { T* buff; int sz; public: int size() const {} bool empty() const {} void push_front(const T& a) {} T& front() {} }; int main() { Vector<int> v1; Vector<short> v2; Vector<double> v3; } 4개의 함수 * 3개의 타입 -> 12개 함수가 만들어짐. 함수의 개수를 줄여보자. T를 사용하지 않는 모든 멤버는 기반클래스로 만들자. class VectorBase { protected: int sz; public: int size() const {} bool empty() const {} }; template<typename T> class Vector : public VectorBase { T* buff; public: void push_front(const ...


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

원문링크 : Thin Template