C++ में null/nil क्या है और इसके साथ कैसे काम करें?
प्रश्न: C++ में null/nil क्या है और इसके साथ कैसे काम करें?
साथियों, नमस्ते! मैं Python और Java के बाद C++ पर स्विच कर रहा हूँ और इस भाषा में null/nil की अवधारणा को समझ नहीं पा रहा हूँ। Python में None है, Java में null है, और C++ में मैं nullptr, NULL और सिर्फ 0 देखता हूँ। क्या ये सब एक ही हैं? किन मामलों में क्या उपयोग करना चाहिए?
मैंने ऐसा कोड लिखने की कोशिश की:
#include <iostream>
void foo(int* ptr) {
if (ptr == NULL) {
std::cout << "Pointer is NULL" << std::endl;
}
}
int main() {
int* p = nullptr;
foo(p);
return 0;
}कोड कंपाइल हो जाता है, लेकिन मुझे यकीन नहीं है कि यह सही है। मैंने std::optional के बारे में भी सुना है — क्या यह पूरी तरह से अलग बात है? या यह null का आधुनिक विकल्प है? मैं स्पष्ट व्याख्या की उम्मीद करता हूँ: C++ में 'null pointer' क्या है, पॉइंटर्स को 'कुछ नहीं' से कैसे सही ढंग से इनिशियलाइज़ करें, और क्या C++ में रेफरेंस (पॉइंटर्स नहीं) के लिए Java/Python के null का कोई एनालॉग है? कृपया nullptr, NULL के साथ उदाहरण दें।