我正在使用C++(而不是11),並使用一些庫具有不同typedefs整數數據類型。有什麼辦法可以斷言兩個typedefs是相同的類型?我自己想出了以下解決方案。是否安全? 謝謝比較typedef是相同類型
template<typename T>
struct TypeTest
{
static void Compare(const TypeTest& other) {}
};
typedef unsigned long long UINT64;
typedef unsigned long long UINT_64;
typedef unsigned int UINT_32;
int main()
{
TypeTest<UINT64>::Compare(TypeTest<UINT64>()); // pass
TypeTest<UINT64>::Compare(TypeTest<UINT_64>()); // pass
TypeTest<UINT64>::Compare(TypeTest<UINT_32>()); // fail
}
cppreference有一個'std :: is_same'的示例實現:http://en.cppreference.com/w/cpp/types/is_same – us2012 2013-03-04 11:32:43