-
C++11 가변 인자 템플릿의 사용 예프로그래밍/c++ 2014. 6. 29. 14:05반응형
기존 C++에서는 여러개의 인자를 받는 템플릿 함수를 만들때
123456789101112131415161718192021222324void 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부터 추가된 기능인 가변 인자 템플릿을 이용하면
12345template<typename ...Args>void create(Args... args){instance = new Type{ args... };}이렇게 깔끔하게 하는것이 가능하다.
반응형'프로그래밍 > c++' 카테고리의 다른 글
scanf_s (0) 2015.02.08 C++ 오브젝트 생성시 {}와 () =의 구분 (0) 2015.02.02 [C++]std::addressof의 존재 이유 (2) 2014.06.29 알아볼 c++11 문법 (0) 2014.05.16 C++11: decltype (0) 2014.05.16