2012-12-17 3 views
1

빠른 답변을 찾기 위해 Google을 검색 할 수 없습니까? 이 구문은 무엇을 의미하며 표준 C++입니까?C++ 구문 - 템플릿 <클래스 ... 옵션>

template <class ...Options> 
class list_base_hook; 

코드는 부스트 라이브러리에서 가져온 것입니다. http://www.boost.org/doc/libs/1_52_0/doc/html/intrusive/usage.html

+3

여기 검색 키워드는 "variadic templates"입니다. 그것은 많은 논증을 전달할 수 있음을 의미합니다. C++ 11 기능이지만 Boost는 C++ 03 이전에이 클래스를 작동시키는 몇 가지 트릭을 만들었습니다. –

+1

[Variadic templates] (http://stackoverflow.com/questions/276188/variadic-templates)를 참조하십시오. –

답변

2

C++ 11에서는 variadic template parameter입니다.

Boost는 C++ 03의 "psuedo-variadic"템플릿에도이 구문을 사용합니다. 즉, 기본값이있는 묶음 typenames입니다. C++ 11의 가변성과 정확히 같지 않습니다. 좋아요 :

template <class opt1 = dummy, class op2 = dummy, class op3 = dummy, /* and so on up to a large N */> 
class list_base_hook;