std::is_same
Материал из cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Заголовочный файл <type_traits>
|
||
| template< class T, class U > struct is_same; |
(начиная с C++11) | |
Если
T и U имя того же типа с тем же конструкции энергонезависимой квалификации, обеспечивает постоянный член value равно true. В противном случае value является false.Original:
If
T and U name the same type with the same const-volatile qualifications, provides the member constant value equal to true. Otherwise value is false.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Содержание |
Унаследован от std::integral_constant
Member constants
| value [static] |
true если T and U is the same type , false иначе Original: true if T and U is the same type , false otherwise The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public static константа-член) |
Member functions
| operator bool |
преобразует объект в bool, возвращает value Original: converts the object to bool, returns value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public функция-член) |
Member types
| Type
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
value_type
|
bool
|
type
|
std::integral_constant<bool, value> |
[править] Возможная реализация
template<class T, class U> struct is_same : std::false_type {}; template<class T> struct is_same<T, T> : std::true_type {}; |
[править] Пример
#include <iostream> #include <type_traits> #include <cstdint> int main() { std::cout << std::boolalpha; std::cout << std::is_same<int, int32_t>::value << '\n'; std::cout << std::is_same<int, int64_t>::value << '\n'; std::cout << std::is_same<float, int32_t>::value << '\n'; }
Вывод:
true false false