Avatar ·

C++ में pointer और reference में क्या अंतर है? उदाहरण सहित समझाएं

सभी को नमस्ते! मैंने अभी C++ सीखना शुरू किया है और मुझे pointers और references के बीच अंतर समझ नहीं आ रहा। किताबों में लिखा है कि दोनों मेमोरी एड्रेस के साथ काम करने के तरीके हैं, लेकिन ये अलग व्यवहार करते हैं। मेरे पास एक सरल उदाहरण है। मैं एक pointer घोषित कर सकता हूं और उसके माध्यम से वेरिएबल की वैल्यू बदल सकता हूं:
int a = 5;
int* ptr = &a;
*ptr = 10; // अब a = 10
और ठीक उसी तरह मैं reference के माध्यम से कर सकता हूं:
int a = 5;
int& ref = a;
ref = 10; // यह भी a = 10
देखने में परिणाम एक जैसा है। लेकिन मैंने सुना है कि references को reassign नहीं किया जा सकता, जबकि pointers को किया जा सकता है। और references ज्यादा सुरक्षित होते हैं। लेकिन क्यों? और कब क्या उपयोग करें? मुझे विशेष रूप से भ्रमित करता है कि functions में parameters को pointer और reference दोनों से pass किया जा सकता है। कौन सा तरीका बेहतर है? और क्या ऐसी स्थितियां हैं जहां pointers के बिना काम नहीं चलेगा, और references काम नहीं करेंगे? कृपया एक शुरुआतकर्ता के लिए, कोड उदाहरणों के साथ समझाएं। पहले से धन्यवाद! <<>>

मुख्य अंतर