template <typename T> struct s
{
};
template <> struct s<MyClass *>
{
};
... in main function
struct s<MyClass*> obj;
위의 코드는 컴파일하지만 난 정말 하나가 총 전문화와 함께 무엇을 할 수 있는지템플릿 매개 변수의 클래스 포인터 -이게 유용할까요?
template <> struct s<MyClass *>
{
};
내가
template <> struct s<MyClass *obj > // ERROR
{
};
처럼 (상수 또는 정적도) 포인터 변수를 추가 할 수 없습니다 볼 수 없습니다
위 전문화의 요지는 무엇입니까?
s<int> s1;
s<float> s2;
s<MyClass> s3;
이러한 개체는 각 템플릿 s
의 인스턴스화 될 것입니다 : 당신은 (암시 적 또는 명시 적으로) 템플릿을 인스턴스화 할 때 난 당신이 유형을 제공하는 MyClass에 * "익명"포인터
아마도 'MyClass *'의 맞춤 동작이 필요한 경우 유용할까요? –
이 질문과 이전 질문을 바탕으로 : 템플릿의 전체 개념 *을 오해 한 것일 수 있습니다. 그것들은 * compile-time * 구조체입니다. – delnan