2010-04-14 4 views
2

HI 누군가가 C++에서 is_same_type 유형 특성을 구현하는 샘플 프로그램을 제공 할 수 있습니까?C++에서 is_same_type 유형 특성을 구현하는 프로그램

+1

해당 프로그램에서 수행해야 할 작업에 대한 자세한 사양을 제공하면 분명합니다. 우리 모두는 여기와 같은 요청을 기다리며 여기 앉아 있습니다. 우리에게 사양을 알려주십시오! –

+1

이것은 "나에게이 프로그램에 대해 듣고 나는 그것을 어떻게할지는 몰라하지만 나는 그것이 필요하다고 생각한다"는 요구만큼 "나를 위해 프로그램을 작성"하는 것이 아닙니다. 동의했다; 세계에서 가장 좋은 질문은 아니지만, 매우 구체적이지 않은 것을 제외하고는 어떤 지침에도 위배되지 않는다고 생각합니다. –

+1

"static const bool result = true"가 아닌'enum {result = true}'인 이유는 무엇입니까? –

답변

9
#include <iostream> 

template< typename T1, typename T2 > 
struct is_same_type  { enum { result = false }; }; 

template< typename T> 
struct is_same_type<T,T> { enum { result = true }; }; 


int main() 
{ 
    std::cout << is_same_type<int,float>::result << '\n' 
       << is_same_type<char,char>::result << '\n'; 
    return 0; 
} 
+0

왜'enum {result = true}'입니까? 'enum '이'result'에 잘못된 타입을주지 않을까요? –

+0

이제 프로그램 작성 서비스로 시작하고 있습니까? 이것은 실제로 OP (또는 당신)를 장기적으로 돕지 않습니다. –

+0

@Brooks : 유일한 이유는 'enum'트릭이 여전히 엉덩이이고 휴대가 가능할 때 TMP를했기 때문입니다. 나는 요즘에'static const bool result = ...'이어야한다고 동의하지만, 나는 이것을 잊고있다. – sbi

관련 문제