c++ - What does this line of code mean *((int*)(0))=1;? -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 4 उत्तर
तो कोड की लाइन प्रश्न यह है:
* ((int *) (0)) = 1;
क्योंकि मुझे सी / सी ++ के साथ बहुत कम अनुभव है और बहुत कठिन प्रयास नहीं किया है, मैं यह सरल अभिव्यक्ति नहीं समझता। इसका मतलब वास्तव में क्या होता है?
यह प्रोग्राम को दुर्घटना का मतलब है, विशेष रूप से डीबगिंग के दौरान उपयोगी है।
यह शून्य सूचक को अधिसूचना देगा और उस मेमोरी के लिए एक मान निर्दिष्ट करने का प्रयास करेगा, जो सैद्धांतिक रूप से सिर्फ अपरिभाषित व्यवहार है, लेकिन 99% सिस्टम पर पहुंच उल्लंघन अपवाद हो सकता है।
आमतौर पर , जैसे मामलों में पाया गया है:
यदि (! FileRead (importantFile)) {// यह कभी नहीं होना चाहिए, महत्वपूर्ण अपवाद * ((int *) (0)) = 1; }
Comments
Post a Comment