Avatar ·

C++ में nullptr कीवर्ड: यह NULL से बेहतर क्यों है और इसका सही उपयोग कैसे करें

सभी को नमस्ते। मैंने हाल ही में C++ सीखना शुरू किया है, और मुझे null पॉइंटर्स को लेकर भ्रम हो गया है। पुरानी किताबों और फोरम में अक्सर NULL लिखा होता है, जबकि नए उदाहरणों में मैं nullptr देखता हूँ। दोनों ही पॉइंटर के लिए "कुछ नहीं" दर्शाते हैं, लेकिन कभी-कभी कंपाइलर NULL पर एरर देता है।

\n\n

यहाँ एक उदाहरण है जिसने मुझे भ्रमित किया। मैंने एक फंक्शन लिखा जो int का पॉइंटर लेता है:

\n\n
void print(int* ptr) {\n    if (ptr == NULL) {\n        std::cout << "पॉइंटर खाली है" << std::endl;\n    } else {\n        std::cout << *ptr << std::endl;\n    }\n}\n\nvoid print(int value) {\n    std::cout << "पूर्णांक: " << value << std::endl;\n}
\n\n

जब मैं print(NULL) कॉल करता हूँ, तो कंपाइलर (GCC फ्लैग के साथ)