kyb kyb - 2 months ago 9
C++ Question

Check if two types are equal in C++

How to check if types are equal in C++11?

std::uint32_t == unsigned; //#1


And another snippet

template<typename T> struct A{
string s = T==unsigned ? "unsigned" : "other";
}

Answer

You can use std::is_same<T,U>::value from C++11 onwards.

Here, T, and U are the types, and value will be true if they are equivalent, and false if they are not.

Note that this is evaluated at compile time.

See http://en.cppreference.com/w/cpp/types/is_same