C++ में struct और typedef struct के बीच क्या अंतर है?
सभी को नमस्कार! मैंने हाल ही में C के बाद C++ सीखना शुरू किया है, और मुझे स्ट्रक्चर्स घोषित करने के बारे में एक सवाल है। C में मैं इस तरह लिखने का आदी था:
```c
typedef struct {
int x;
int y;
} Point;
```
और फिर `Point` को एक सामान्य type की तरह इस्तेमाल करता था। लेकिन जब मैं C++ पर आया, तो मैंने देखा कि कई लोग बस यह लिखते हैं:
```cpp
struct Point {
int x;
int y;
};
```
और फिर बिना `struct` के `Point` का उपयोग करते हैं। यह मुझे भ्रमित करता है। मैंने C++ में दोनों तरीके आज़माए, और दोनों काम करते हैं। लेकिन उनके बीच क्या अंतर है? क्या C++ में `typedef struct` का उपयोग करना बिल्कुल ज़रूरी है? या इसे बुरी practice माना जाता है? मैंने सुना है कि C++ में स्ट्रक्चर्स लगभग classes की तरह हैं, लेकिन मुझे यकीन नहीं है कि यह घोषणा को कैसे प्रभावित करता है। क्या `typedef` किसी तरह performance या compiler के कोड को process करने के तरीके को प्रभावित कर सकता है? उदाहरणों के साथ विस्तृत स्पष्टीकरण के लिए आभारी रहूंगा।
<<>>
मुख्य अंतर: C बनाम C++
C++ में, struct keyword स्वचालित रूप से एक type name बनाता है, इसलिए typedef की आवश्यकता नहीं है।