Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sprawdza, czy dwa typy są takie same.
Składnia
template <class Ty1, class Ty2>
struct is_same;
Parametry
Ty1
Pierwszy typ zapytania.
Ty2
Drugi typ zapytania.
Uwagi
Wystąpienie predykatu typu ma wartość true, jeśli typy Ty1 i Ty2 są tego samego typu, w przeciwnym razie zawiera wartość false.
Przykład
// std__type_traits__is_same.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct base
{
int val;
};
struct derived
: public base
{
};
int main()
{
std::cout << "is_same<base, base> == " << std::boolalpha
<< std::is_same<base, base>::value << std::endl;
std::cout << "is_same<base, derived> == " << std::boolalpha
<< std::is_same<base, derived>::value << std::endl;
std::cout << "is_same<derived, base> == " << std::boolalpha
<< std::is_same<derived, base>::value << std::endl;
std::cout << "is_same<int, int> == " << std::boolalpha
<< std::is_same<int, int>::value << std::endl;
std::cout << "is_same<int, const int> == " << std::boolalpha
<< std::is_same<int, const int>::value << std::endl;
return (0);
}
is_same<base, base> == true
is_same<base, derived> == false
is_same<derived, base> == false
is_same<int, int> == true
is_same<int, const int> == false
Wymagania
Nagłówek:<type_traits>
Przestrzeń nazw: std