2011-08-11 5 views
9

C++에는 템플릿 템플릿 매개 변수로 클래스 템플릿을 전달할 수있는 "템플릿 템플릿 매개 변수"라는 기능이 있습니다. 예 :함수 템플릿 템플릿 매개 변수 같은 것이 있습니까?

template <typename T> 
class vector { ... }; 

template <template <typename> class container> // this is a template template parameter 
class foo { ... }; 

... 

foo<vector> f; // pass the vector template itself as template parameter 

함수 템플릿과 비슷한 기능이 있습니까? 나는. 함수 템플릿 (예 : std::make_pair)을 템플릿 매개 변수로 클래스에 전달하는 방법이 있습니까?

+0

당신이 사용하고자하는 것입니다 마법 구문을 것입니까? – MSN

+0

@MSN : 나는 함수를 작성 찾고 있었어요'템플릿으로 호출 할 수 있습니다 무효 foo는 (F)''foo는 (바)'어디'bar' 함수 템플릿 (예 :'템플릿 무효 바 (T)'). 'foo'는 다양한 타입의 인자를 가지고'F'를 호출 할 수 있습니다. '??? '에 무엇이 들어갈 지 상상해 보겠습니다. :)'bar'가 다형 함수 객체 (즉 템플릿이있는 연산자가있는 비 템플릿 클래스 인 경우))이 경우'foo'의 템플릿 매개 변수는 일반적인 유형 매개 변수가됩니다. [다음 주석에 계속] – HighCommander4

+0

[이전 주석에서 계속] 그러나 다형 함수 객체로 적용하지 않고 기존 함수 템플릿'bar'를 사용하고 싶습니다. – HighCommander4

답변

12

번호

+0

짧고 달콤한 –

+1

너무 나쁘다. 유용하다고 느꼈을 것이다. – HighCommander4

+0

@ HighCommander4 : 클래스 템플릿을 사용하고 정적 멤버 함수를 호출 할 수 있습니다. –

관련 문제