안녕하세요, 나는 상속을 통해 간단한 광고 - 혼합 클래스에서 복잡한 개체를 구성하는 데 도움이 될 수있는 몇 가지 메타 프로그래밍 라이브러리를 제작하고 있습니다.중첩 템플릿 시퀀스 대신 매개 변수 팩을 사용할 수 있습니까?
예를 들어, 각각 하나의 속성을 나타내는 일련의 템플릿 클래스를 생성하는 몇 가지 메커니즘이 있습니다.
는 I`ve은 다음과 같습니다 최종 건설 절차에 온 :
class Car : public Position< Size< Color< BaseObj<Car> > > > {/*...*/};
와 나는 확실히 그것을 좋아하지 않아.
내가 이런 식으로 쓸 수 있도록 일부 처리 템플릿을 만들려고
(BaseObj 항상 순서에서 가장 내부 템플릿입니다) :
class Car : public Proc< Position, Size, Color, Car > {/*...*/};
하지만 성공을 얻지 않았다.
이러한 템플릿을 만들 수 있습니까?
이러한 중첩 된 템플릿 시퀀스와 동일한 효과를 낼 수있는 다른 의미있는 의미가 있습니까?
나는 그것을 할 수 어쩌면 생각합니다. 그러나 당신이 이루고 싶은 것은 나에게 불분명하다. ('Position'에 대한 매개 변수 인 Size는 정말로 이상하다.) –
우선 가장 간단한 방법으로 행에서 다른 클래스를 상속받을 수있는 클래스 집합이 필요합니다. 템플릿은 '너비가 아니라' '깊이있게'상속하는 방법 일뿐입니다.각 템플릿을 혼합 구성 요소로 간주하십시오 (순서는 중요하지 않음). – Gleb