Avatar ·

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 की आवश्यकता नहीं है।