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` का उपयोग करना चाहिए? पहले से धन्यवाद!
<<>>
मुख्य अंतर: टेम्पलेट उपनाम
मुख्य और सबसे मौलिक