Avatar ·

C++ में typedef और using में क्या अंतर है? क्या चुनें?

सभी को नमस्कार! मैं C++ सीख रहा हूँ और प्रकारों के लिए उपनाम बनाने के दो तरीकों पर आया हूँ: पुराना अच्छा `typedef` और C++11 से नया `using`। लगता है दोनों एक ही काम करते हैं, लेकिन मैंने सुना है कि `using` को प्राथमिकता दी जाती है। क्या आप समझा सकते हैं कि मूलभूत अंतर क्या है? यहाँ `typedef` के साथ एक सरल उदाहरण है: ```cpp typedef unsigned long ulong; typedef int (*func_ptr)(double, char); typedef std::vector int_vector; ``` और यहाँ वही `using` के साथ: ```cpp using ulong = unsigned long; using func_ptr = int(*)(double, char); using int_vector = std::vector; ``` सिंटैक्स के अनुसार `typedef` मुझे अधिक भ्रमित करने वाला लगता है, विशेषकर फ़ंक्शन पॉइंटर्स के लिए। लेकिन क्या कोई कार्यात्मक अंतर हैं? उदाहरण के लिए, मैंने सुना है कि `using` टेम्पलेट्स के साथ काम करता है, जबकि `typedef` नहीं करता। क्या आप ऐसे उदाहरण दे सकते हैं जहाँ `using` बेहतर है, और क्या नए कोड में `typedef` का उपयोग करना चाहिए? पहले से धन्यवाद! <<>>

मुख्य अंतर: टेम्पलेट उपनाम

मुख्य और सबसे मौलिक