अनिर्धारित व्यवहार के कई अलग-अलग चेहरे हैं, और जो स्वीकार्य है वह उपयोग पर निर्भर करता है।
टाइट इनर-लूप जो वास्तविक समय के ग्राफिक्स एप्लिकेशन में कुल सीपीयू समय के एक बड़े हिस्से की खपत करता है
वह, अपने आप में, एक असामान्य बात है, लेकिन जैसा कि यह हो सकता है ... यदि यह वास्तव में मामला है, तो यूबी सबसे अधिक "स्वीकार्य, स्वीकार्य" दायरे में है । ग्राफिक्स प्रोग्रामिंग हैक और बदसूरत सामान के लिए कुख्यात है। जब तक यह "काम करता है" और एक फ्रेम का उत्पादन करने में 16.6ms से अधिक समय नहीं लगता है, आमतौर पर, कोई भी परवाह नहीं करता है। लेकिन फिर भी, इस बात से अवगत रहें कि यूबी को लागू करने का क्या मतलब है।
सबसे पहले, वहाँ मानक है। उस दृष्टिकोण से, चर्चा के लिए कुछ भी नहीं है और औचित्य का कोई तरीका नहीं है, आपका कोड बस अमान्य है। वहाँ कोई ifs या whens हैं, यह सिर्फ एक वैध कोड नहीं है। आप यह भी कह सकते हैं कि आपके नज़रिए से मध्य-उँगलियाँ हैं, और 95-99% समय आप वैसे भी जाने के लिए अच्छा होगा।
इसके बाद, हार्डवेयर पक्ष है। कुछ असामान्य, अजीब आर्किटेक्चर हैं जहां यह एक समस्या है। मैं "असामान्य, अजीब" कह रहा हूं क्योंकि एक आर्किटेक्चर पर जो सभी कंप्यूटरों का 80% हिस्सा बनाता है (या दो आर्किटेक्चर जो एक साथ 95% सभी कंप्यूटर बनाते हैं) अतिप्रवाह एक "हाँ, जो भी हो, परवाह न करें" हार्डवेयर स्तर पर बात। आपको यकीन है कि एक कचरा मिलता है (हालांकि अभी भी अनुमानित है) परिणाम, लेकिन कोई बुरी चीजें नहीं होती हैं।
ऐसा नहीं हैहर वास्तुकला पर मामला, आप बहुत अच्छी तरह से अतिप्रवाह पर एक जाल प्राप्त कर सकते हैं (हालांकि यह देखने के लिए कि आप ग्राफिक्स एप्लिकेशन की बात कैसे करते हैं, इस तरह के एक अजीब वास्तुकला पर होने की संभावना कम है)। पोर्टेबिलिटी एक मुद्दा है? यदि यह है, तो आप को रोकना चाह सकते हैं।
अंतिम, संकलक / अनुकूलक पक्ष है। ओवरफ्लो अपरिभाषित होने का एक कारण यह है कि बस उस पर छोड़ देना एक समय में एक बार हार्डवेयर के साथ सामना करना सबसे आसान था। लेकिन एक और कारण यह है कि जैसे है x+1
है की गारंटी हमेशा से बड़े होने x
, और संकलक / अनुकूलक इस ज्ञान का दोहन कर सकते हैं। अब, पहले से उल्लेख किए गए मामले के लिए, कंपाइलर्स वास्तव में इस तरह से कार्य करने के लिए जाने जाते हैं और बस पूर्ण ब्लॉकों को छीन लेते हैं (कुछ साल पहले एक लिनक्स शोषण मौजूद था जो कंपाइलर पर आधारित था, क्योंकि इसकी वजह से कुछ सत्यापन कोड मृत हो गए थे)।
आपके मामले के लिए, मुझे गंभीरता से संदेह होगा कि संकलक कुछ विशेष, विषम, अनुकूलन करता है। हालांकि, आप क्या जानते हैं, मुझे क्या पता है। जब संदेह में, इसे आज़माएं। यदि यह काम करता है, तो आप जाने के लिए अच्छे हैं।
(और अंत में, बेशक कोड ऑडिट है, यदि आपको अशुभ होने पर ऑडिटर के साथ चर्चा करने में अपना समय बर्बाद करना पड़ सकता है।)