私は C++ (11 ではない) を使用しており、整数データ型に対して異なる typedef を持ついくつかのライブラリを使用しています。2 つの 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
}