프로그래밍/c++
C++11 가변 인자 템플릿의 사용 예
제페
2014. 6. 29. 14:05
반응형
기존 C++에서는 여러개의 인자를 받는 템플릿 함수를 만들때
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | void create() { instance = new Type{}; } template<typename T0> void create(T0 arg0) { instance = new Type{ arg0 }; } template<typename T0, typename T1> void create(T0 arg0, T1 arg1) { instance = new Type{ arg0, arg1 }; } template<typename T0, typename T1, typename T2> void create(T0 arg0, T1 arg1, T2 arg2) { instance = new Type{ arg0, arg1, arg2 }; } |
.. 이런식으로 만드는 경우가 있었다.
저런 코드를 C++11부터 추가된 기능인 가변 인자 템플릿을 이용하면
1 2 3 4 5 | template<typename ...Args> void create(Args... args) { instance = new Type{ args... }; } |
이렇게 깔끔하게 하는것이 가능하다.
반응형