2010-10-22 13 views
9

पर वापस लौटाता है कई बार मैं ओपन सोर्स कोड में देखता हूं कि सी फंक्शन को कॉल शून्य करने के लिए डाला जाता है।कास्टिंग फ़ंक्शन शून्य

उदाहरण के लिए, ls (http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ls/ls.c) के लिए स्रोत कोड में, मैं निम्नलिखित देखता हूं ।

(void) setlocale(LC_ALL, ""); 

यह अच्छा अभ्यास क्यों है?

+1

सी ++ के लिए: http://stackoverflow.com/questions/689677/casting-unused-return-values-to-void –

उत्तर

13

यह स्पष्ट रूप से मतलब है कि आप वापसी मूल्य को अनदेखा करते हैं, और इसे भूल नहीं पाए।

+2

कुछ स्थिर विश्लेषक चेतावनी देते हैं कि वापसी मूल्य को चुपचाप अनदेखा किया जाता है और जब आप स्पष्ट रूप से अनदेखा करते हैं तो चेतावनी न दें शून्य करने के लिए कास्टिंग द्वारा। यह अधिक महत्वपूर्ण था जब हमारे पास केवल त्रुटि कोड थे और कोई अपवाद नहीं था ... –

+2

... सी में अभी भी अपवाद नहीं हैं, भलाई का शुक्र है। – nmichaels

+3

@ पीटर जी .: यह प्रश्न टैग किया गया है। वे अभी भी अपवाद नहीं है। –

संबंधित मुद्दे