[모던C++입문] 3.3 클래스 템플릿

짜장범벅·2023년 11월 5일
0

모던CPP입문

목록 보기
10/11

3.3 클래스 템플릿

3.3.1 컨테이너 예제

struct row_major{};
struct col_major{};
struct heap{};
struct stack{};

...

template<typename T=double, typename Orientation=col_major, typename Where=heap>
class vector{
    ...
}

vector<float, row_major, heap> v1;
    //float, row_major, heap

vector<double, row_major> v2;
    //double, row_major, heap

vector<> v3;
    //double, col_major, heap

3.3.2 유니폼 클래스 및 함수 인터페이스 디자인

3.3.2.1 진정한 배열의 합

template <typename T, unsigned N>
T sum(const T(&array)[N]){
    T sum(0);
    for (int i=0; i<N; ++i>){
        sum += array[i];   
    }
r    return sum;
}
profile
큰일날 사람

0개의 댓글