2010-11-06 2 views
-3

Можно ли определить, имеет ли класс определенный тип?Обнаружение типа класса

+0

Да, это возможно, но для чего? – kennytm

+1

Что вы подразумеваете под типом класса? Класс - это тип. – sepp2k

+3

-1: В его нынешнем виде этот вопрос не имеет смысла. Просьба уточнить! –

ответ

3

Да:

template <typename T, typename U> 
struct is_same 
{ 
    static const bool value = false; 
}; 


template <typename T> 
struct is_same<T, T> 
{ 
    static const bool value = true; 
}; 

is_same<int, float>::value; // false 
is_same<int, int>::value; // true 

Они называются черты типа, и вы можете найти убивание них в Boost.TypeTraits и C++ 0x.

+0

лет мой человек! это определяет, являются ли типы такими же, что они имеют определенный тип. –

+1

@There: Тогда ваш вопрос не имеет смысла. Если вы хотите знать, являются ли они «определенного типа», как это отличается от проверки «обнаружения того, являются ли типы одинаковыми»? [Как обычно] (http://www.catb.org/esr/faqs/smart-questions.html), спросите о большой картине и проблеме, которую вы пытаетесь решить, а не о крошечном теоретическом шаге, который, по вашему мнению, вам нужен брать. – GManNickG

Смежные вопросы