मैं सी ++ (11 नहीं) का उपयोग कर रहा हूं और कुछ पुस्तकालयों का उपयोग कर रहा हूं जिनमें पूर्णांक डेटा प्रकारों के लिए अलग-अलग टाइपिफ़ी हैं। क्या कोई तरीका है कि मैं कह सकता हूं कि दो टाइपिफ एक ही प्रकार के हैं? मैं अपने आप निम्नलिखित समाधान के साथ आया हूँ .. क्या यह सुरक्षित है? धन्यवादटाइपिफ़ की तुलना करें
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