C/C++ में पॉइंटर को "डीरेफरेंस" करने का क्या मतलब है?
सभी को नमस्ते! मैंने अभी-अभी C++ सीखना शुरू किया है और पॉइंटर्स को डीरेफरेंस करने की अवधारणा को समझ नहीं पा रहा हूँ। मैंने बहुत सारे लेख पढ़े, लेकिन फिर भी भ्रमित हूँ।\n\nमान लीजिए, मेरे पास ऐसा कोड है:\n\n```cpp\nint x = 42;\nint* ptr = &x;\n```\n\nमैं समझता हूँ कि `ptr` एक पॉइंटर है, जो वेरिएबल `x` का एड्रेस स्टोर करता है। लेकिन इसे "डीरेफरेंस" करने का क्या मतलब है? उदाहरण के लिए, जब मैं `*ptr` लिखता हूँ, तो वास्तव में क्या होता है? क्या यह रेफरेंस ऑपरेटर `&` के समान है?\n\nमैंने वैल्यू प्रिंट करने की कोशिश की:\n\n```cpp\nstd::cout << ptr; // एड्रेस प्रिंट करता है\nstd::cout << *ptr; // 42 प्रिंट करता है\n```\n\nलेकिन डीरेफरेंस करने की आवश्यकता क्यों है? सीधे वेरिएबल `x` का उपयोग क्यों नहीं कर सकते? किन मामलों में यह वास्तव में आवश्यक है?\n\nखासकर जब कोड में डबल पॉइंटर्स (`int** ptr2`) का उपयोग किया जाता है या डीरेफरेंस किया जाता है, तो मैं और भी भ्रमित हो जाता हूँ।