undefined-behavior पर टैग किए गए जवाब

एक प्रोग्राम को संकलित या निष्पादित करने का अप्रत्याशित परिणाम जो भाषा के नियमों को तोड़ता है न तो संकलक, दुभाषिया और न ही रनटाइम-सिस्टम को लागू करना है। डेटा प्रकार या "अपरिभाषित" के रिटर्न मान के बारे में प्रश्नों के लिए इस टैग का उपयोग न करें। उन मामलों में, इसके बजाय [अपरिभाषित] टैग का उपयोग किया जाना चाहिए।

4
जब d == 0 को शून्य अपवाद द्वारा 'd / = d' डिविजन क्यों नहीं फेंकता है?
मुझे यह समझ में नहीं आया कि मुझे शून्य अपवाद द्वारा विभाजन क्यों नहीं मिला: int d = 0; d /= d; मुझे शून्य अपवाद द्वारा एक विभाजन प्राप्त करने की उम्मीद थी लेकिन इसके बजाय d == 1। d /= dशून्य अपवाद द्वारा विभाजन को क्यों नहीं फेंका जाता …

10
C ++ और अपरिभाषित व्यवहार (UB) में अतिप्रवाह
मैं निम्नलिखित की तरह कोड के उपयोग के बारे में सोच रहा हूं int result = 0; int factor = 1; for (...) { result = ... factor *= 10; } return result; यदि लूप nसमय के साथ पुनरावृत्त होता है, तो ठीक कई बार factorगुणा किया जाता 10है n। …

3
क्या एक सूचक को 0-आकार के गतिशील सरणी में अपरिभाषित किया गया है?
AFAIK, हालांकि हम 0-स्थैतिक-स्मृति सरणी नहीं बना सकते हैं, लेकिन हम इसे गतिशील लोगों के साथ कर सकते हैं: int a[0]{}; // Compile-time error int* p = new int[0]; // Is well-defined जैसा कि मैंने पढ़ा है, pएक-पास्ट-एंड तत्व की तरह काम करता है। मैं उस पते को प्रिंट कर …

7
C में पॉइंटर तुलना कैसे काम करती है? क्या पॉइंटर्स की तुलना करना ठीक है जो एक ही एरे की ओर इशारा नहीं करते हैं?
K & R में (C प्रोग्रामिंग लैंग्वेज द्वितीय संस्करण) अध्याय 5 मैंने निम्नलिखित पढ़ा: सबसे पहले, कुछ परिस्थितियों में पॉइंटर्स की तुलना की जा सकती है। तो pऔर qएक ही सरणी के सदस्यों के लिए बिंदु, तो संबंधों की तरह ==, !=, <, >=ठीक से, आदि काम करते हैं। जिसका …

2
वर्ग क्षेत्रों के साथ अजीब व्यवहार जब एक एसटीडी :: वेक्टर में जोड़ते हैं
मैंने निम्नलिखित स्थिति में कुछ बहुत ही अजीब व्यवहार (क्लैंग और जीसीसी पर) पाया है। मेरे पास एक वेक्टर है, nodesजिसमें एक तत्व, कक्षा का एक उदाहरण है Node। मैं तब एक फ़ंक्शन को कॉल करता हूं जो वेक्टर में nodes[0]एक नया जोड़ता है Node। जब नया नोड जोड़ा जाता …

4
असंगठित सदस्यों के साथ संरचनाओं की नकल करना
क्या किसी ऐसे ढांचे की नकल करना मान्य है जिसके कुछ सदस्य आरम्भिक नहीं हैं? मुझे संदेह है कि यह अपरिभाषित व्यवहार है, लेकिन यदि ऐसा है, तो यह किसी भी असंगठित सदस्यों को एक संरचना में छोड़ देता है (भले ही उन सदस्यों को कभी भी सीधे इस्तेमाल नहीं …

3
क्या C का std के बराबर :: C ++ से कम है?
मैं हाल ही p < qमें सी में करने के अपरिभाषित व्यवहार पर एक सवाल का जवाब दे रहा था pऔर qविभिन्न वस्तुओं / सरणियों में संकेत कर रहे थे। मुझे यह सोचकर मिला: C ++ <में इस मामले में एक ही (अपरिभाषित) व्यवहार है , लेकिन यह मानक पुस्तकालय …

1
एक कास्टेवल फ़ंक्शन अपरिभाषित व्यवहार की अनुमति क्यों देता है?
C ++ में निरंतर अभिव्यक्तियों की बहुत साफ-सुथरी संपत्ति है: उनके मूल्यांकन में अपरिभाषित व्यवहार नहीं हो सकता है ( 7.7.4.7 ): एक अभिव्यक्ति ई एक मूल स्थिर अभिव्यक्ति है जब तक कि ई का मूल्यांकन, अमूर्त मशीन ([intro.execution]) के नियमों का पालन करता है, निम्न में से एक का …

2
क्या एक प्रोग्राम है जो कभी भी मान्य C ++ प्रोग्राम को समाप्त नहीं करता है?
क्या एक कार्यक्रम को समाप्त करने के लिए आवश्यक है? दूसरे शब्दों में एक प्रोग्राम है जो हमेशा के लिए तकनीकी रूप से अपरिभाषित व्यवहार चलता है? ध्यान दें कि यह खाली छोरों के बारे में नहीं है। उन कार्यक्रमों के बारे में बात करना जो हमेशा के लिए "सामान" …

3
नॉन-कास्ट और पॉइंटर को पॉइंटर के साथ फंक्शन कॉल उसी पते के कॉन्स्टिट्यूशन को कांस्टीट्यूशन के लिए
मैं एक फ़ंक्शन लिखना चाहता हूं जो डेटा का एक सरणी इनपुट करता है और पॉइंटर्स का उपयोग करके डेटा का एक और सरणी आउटपुट करता है। मैं सोच रहा हूँ कि क्या परिणाम है अगर दोनों srcऔर dstएक ही पते की ओर इशारा किया जाए क्योंकि मुझे पता है …

1
आदिम static_vector कार्यान्वयन में संभावित अपरिभाषित व्यवहार
tl; dr: मुझे लगता है कि मेरे static_vector के पास अपरिभाषित व्यवहार है, लेकिन मैं इसे नहीं ढूँढ सकता। यह समस्या Microsoft Visual C ++ 17 पर है। मेरे पास यह सरल और अधूरा static_vector कार्यान्वयन है, अर्थात एक निश्चित क्षमता वाला वेक्टर जो स्टैक आवंटित किया जा सकता है। …

1
क्या `string.assign (string.data (), 5)` अच्छी तरह से परिभाषित या UB है?
एक सहकर्मी यह लिखना चाहता था: std::string_view strip_whitespace(std::string_view sv); std::string line = "hello "; line = strip_whitespace(line); मैंने कहा कि वापसी string_viewने मुझे एक प्राथमिकता दी है , और इसके अलावा, यहाँ अलियासिंग मुझे यूबी की तरह लग रहा था। मैं निश्चितता के साथ कह सकता हूं कि line = …

5
एक नवनिर्मित वस्तु को कब्जे में अपरिभाषित व्यवहार द्वारा कैप्चर कर रहा है
निम्नलिखित (विपरीत उदाहरण) ठीक है या यह अपरिभाषित व्यवहार है: // undefined behavior? const auto& c = SomeClass{}; // use c in code later const auto& v = c.GetSomeVariable();

2
यदि अपरिभाषित C ++ व्यवहार C परिभाषित व्यवहार से मिलता है तो क्या होता है?
मेरे पास एक *.cppफाइल है जिसे मैं C ++ (C C संकलक नहीं) के साथ संकलित करता हूं। युक्त फ़ंक्शन एक डाली पर निर्भर करता है (अंतिम पंक्ति देखें) जो सी में परिभाषित किया गया लगता है (कृपया सही है अगर मैं गलत हूं!), लेकिन इस विशेष प्रकार के लिए …

1
जीसीसी एक गैर-गठित कॉन्स्ट्रेक्ट लैम्बडा कॉल की रिपोर्ट करने में विफल रहता है
अनिर्धारित व्यवहार के लिए दो परीक्षण-मामले नीचे दिए गए हैं, जिन्हें IIFE के रूप में व्यक्त किया गया है (तुरंत कॉल किया गया लैम्ब्डा-एक्सप्रेशन): constexpr auto test3 = []{ int* p{}; { int x{}; p = &x; } return *p; // Undefined Behaviour }(); // IIFE constexpr auto test4 = …

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.