में टाइपएफ़ टाइपपीफ टाइप प्रकार सुरक्षा बढ़ाने के लिए मैं अपने सी ++ प्रोग्राम में टाइपपीफ जैसे कुछ का उपयोग करना चाहता हूं।सी ++
एक उदाहरण के रूप में, मैं दो कार्यों
void function1(unsigned idOfType1);
void function2(unsigned idOfType2);
है तो मैं गलती से पारित कर सकते हैं idOfType2 function1 और इसके विपरीत करने के लिए लगता है। मैं संकलक चाहता हूं कि मुझे इस मामले में एक त्रुटि दें। मुझे पता है कि मैं इन्हें एक स्ट्रक्चर में हस्ताक्षरित कर सकता हूं, लेकिन फिर मुझे फ़ील्ड नाम देना होगा और उन्हें एक्सेस करने के लिए .
का उपयोग करना होगा, जो थोड़ा असुविधाजनक है। क्या इसके चारों ओर एक अच्छा तरीका है?
संपादित करें: जहां तक मुझे पता है कि typedef
इस उद्देश्य के लिए काम नहीं करेगा क्योंकि यह एक प्रकार के लिए सिर्फ एक शॉर्टेंड है और टाइपिंग जांच के लिए उपयोग नहीं किया जाएगा।
Enums अच्छी तरह से काम आपके मामले में ... –
@AlexanderPavlov विस्तृत करने के लिए देखभाल, यह मेरे लिए स्पष्ट नहीं है ... – Paul
@ पॉल: आप कुछ लिख सकते हैं जैसे 'enum Type1 {dummy0 = 1, dummy1 = 1 << 1, dummy2 = 1 < <2, ..., dummy31 = 1 << 31}; ', और आपके हस्ताक्षर पर' हस्ताक्षरित '32 बिट प्रकार है, तो परिणाम एक enum है जो 'unsigned' के किसी भी मान को पकड़ सकता है। फिर 'शून्य कार्य 1 (टाइप 1 आईडी) '' टाइप 2' स्वीकार नहीं करेगा, क्योंकि enums एक दूसरे के लिए पूरी तरह से परिवर्तनीय नहीं हैं। –