c++ - How do you check for an invalid pointer? -


मेरा वर्तमान कोड के प्रभाव में:

  अगर (ऑब्जेक्ट पॉइंटर! = नल) { ऑब्जेक्ट पॉइंटर को हटाएं; }  

काम नहीं करता क्योंकि पॉइंटर्स को हेक्स नंबर को कंपाइलर द्वारा सेट किया जा रहा है जैसे:

  • 0xbaadf00d
  • 0xdeadbeef

आदि ....

तो ऑब्जेक्ट को हटाने का प्रयास करने से पहले एक अमान्य सूचक की जांच करने का सबसे अच्छा तरीका क्या है?

हमेशा अपने पॉइंटर्स को नल में प्रारंभ करें (जो कि, 0) है। से:

एक अशक्त सूचक एक प्रारंभिक सूचक से अवधारणात्मक रूप से अलग है किसी नल सूचक को किसी वस्तु को इंगित करने के लिए नहीं जाना जाता है; एक अपरिष्कृत सूचक कहीं भी कह सकता है।


Comments