Export (0) Print
Expand All
Expand Minimize

is_same Class

Tests if two types are the same.

template<class Ty1, class Ty2>
    struct is_same;

Ty1

The first type to query.

Ty2

The second type to query.

An instance of the type predicate holds true if the types Ty1 and Ty2 are the same type, otherwise it holds false.

 

// std_tr1__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

Header: <type_traits>

Namespace: std

Community Additions

ADD
Show:
© 2014 Microsoft