language-lawyer पर टैग किए गए जवाब

प्रोग्रामिंग भाषाओं और वातावरणों की औपचारिक या आधिकारिक विशिष्टताओं की जटिलताओं के बारे में प्रश्नों के लिए।


2
std :: संरचित बाइंडिंग के साथ अनदेखा?
प्रस्तावना: std::tuple<int, int, int> f(); std::tuple<int, int, float, int> g(); C ++ 1z संरचित बाइंडिंग के लिए वाक्यविन्यास पेश करेगा, जिसके बजाय लिखना संभव होगा int a, b, c; std::tie(a, b, c) = f(); कुछ इस तरह auto [a, b, c] = f(); हालाँकि, कुछ घटकों को अनदेखा std::tieकरने की …

6
संदर्भ C ++ में "कॉन्स्टेबल" क्यों नहीं हैं?
हम जानते हैं कि "कॉन्स्टेबल वैरिएबल" इंगित करता है कि एक बार असाइन करने के बाद, आप वैरिएबल को इस तरह नहीं बदल सकते: int const i = 1; i = 2; उपरोक्त कार्यक्रम संकलन में विफल रहेगा; एक त्रुटि के साथ संकेत देता है: assignment of read-only variable 'i' …

2
रोसेलिन में एसिंक्स स्टेट मशीन क्लासेस (और स्ट्रक्चर्स नहीं) क्यों हैं?
आइए इस बहुत ही सरल एस्कॉन विधि पर विचार करें: static async Task myMethodAsync() { await Task.Delay(500); } जब मैं इसे VS2013 (पूर्व रोसलिन कंपाइलर) के साथ संकलित करता हूं तो उत्पन्न स्थिति-मशीन एक संरचना है। private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } जब …

2
C और C ++ अभिव्यक्ति (int) + 4 * 5 की अनुमति क्यों देते हैं?
(int) + 4*5; ऐसा क्यों है (मूल्य के साथ एक प्रकार जोड़ना) संभव है? (जी ++ और जीसीसी के साथ की कोशिश की।) मुझे पता है कि इसका कोई मतलब नहीं है (और इसका कोई प्रभाव नहीं है), लेकिन मैं जानना चाहता हूं कि यह क्यों संभव है।

5
C ++ - स्टैटिक मेंबर फंक्शन 'कास्ट' क्वालीफायर के साथ क्यों नहीं बनाया जा सकता है
आज मुझे एक समस्या हुई। मैं एक staticसदस्य समारोह की जरूरत में हूं , constयह एक जरूरी नहीं बल्कि बेहतर है। लेकिन, मैं अपने प्रयासों में सफल नहीं हुआ। क्या कोई कह सकता है कि क्यों या कैसे?

3
क्या यह संकलक को क्रैश करने के लिए अपरिभाषित व्यवहार वाले स्रोत कोड के लिए कानूनी है?
मान लीजिए कि मैं कुछ खराब लिखित C ++ स्रोत कोड को संकलित करने के लिए जाता हूं जो अपरिभाषित व्यवहार को आमंत्रित करता है, और इसलिए (जैसा कि वे कहते हैं) "कुछ भी हो सकता है"। सी + + भाषा विनिर्देश क्या एक "अनुरूप" संकलक में स्वीकार्य है, के …

6
शुद्ध कार्य: क्या "कोई साइड इफेक्ट" नहीं है "हमेशा एक ही आउटपुट, एक ही इनपुट दिया"?
एक फ़ंक्शन को परिभाषित करने वाली दो स्थितियां pureनिम्नानुसार हैं: कोई साइड इफेक्ट नहीं (यानी केवल स्थानीय क्षेत्र में परिवर्तन की अनुमति है) हमेशा उसी आउटपुट को वापस करें, उसी इनपुट को देखते हुए यदि पहली शर्त हमेशा सच होती है, तो क्या किसी भी समय दूसरी स्थिति सच नहीं …

3
क्या सही पते के साथ एक सूचक है और C ++ 17 के बाद भी हमेशा एक वैध सूचक है?
( इस सवाल और जवाब के संदर्भ में ।) C ++ 17 मानक से पहले, निम्नलिखित वाक्य को [basic.compound] / 3 में शामिल किया गया था : यदि टाइप A का ऑब्जेक्ट पता A पर स्थित है, तो टाइप Cv T * का पॉइंटर जिसका मान A पता है, उस …

2
क्या अभी भी c ++ 0x में nullptr हटाना सुरक्षित है?
इसमें c++03यह स्पष्ट है कि अशक्त सूचक को हटाने का कोई प्रभाव नहीं है। वास्तव में, यह स्पष्ट रूप से कहा गया §5.3.5/2है: या तो विकल्प में, यदि डिलीट के ऑपरेंड का मूल्य शून्य पॉइंटर है, तो ऑपरेशन का कोई प्रभाव नहीं पड़ता है। हालांकि, इस वाक्य के लिए मौजूदा …

6
क्या 'नया' में `नया` है?
इस new int;तरह की अभिव्यक्ति int * x = new int;एक नई अभिव्यक्ति है । "नए ऑपरेटर" शब्द का उपयोग "नई अभिव्यक्ति" के साथ परस्पर रूप से किया जाता है, उदाहरण के लिए इस प्रश्न में: 'नए ऑपरेटर' और 'ऑपरेटर नए' के ​​बीच अंतर? क्या यह कहना सही है कि …

4
वापसी में सी ++ में अल्पविराम ऑपरेटर का अलग व्यवहार?
यह ( अल्पविराम ऑपरेटर ध्यान दें ): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } आउटपुट 2 । हालांकि, यदि आप returnअल्पविराम ऑपरेटर के साथ उपयोग करते हैं, तो : #include <iostream> int f() { return 2, 3; } …

9
क्या ऐसा कोड जिसे कभी भी अपरिभाषित व्यवहार के लिए लागू नहीं किया जाएगा?
कोड जो अपरिभाषित व्यवहार को आमंत्रित करता है (इस उदाहरण में, शून्य से विभाजन) कभी भी निष्पादित नहीं होगा, क्या कार्यक्रम अभी भी अपरिभाषित व्यवहार है? int main(void) { int i; if(0) { i = 1/0; } return 0; } मुझे लगता है कि यह अभी भी अपरिभाषित व्यवहार है, …

4
विभिन्न कलाकारों को अलग-अलग संकलक द्वारा बुलाया गया
निम्नलिखित लघु सी + + कार्यक्रम पर विचार करें: #include <iostream> class B { public: operator bool() const { return false; } }; class B2 : public B { public: operator int() { return 5; } }; int main() { B2 b; std::cout << std::boolalpha << (bool)b << std::endl; } …

4
क्या मेम्ची (0,0,0) प्रदर्शन करने के लिए सुरक्षित होने की गारंटी है?
मैं सी मानक का इतना अच्छा जानकार नहीं हूं, इसलिए कृपया मेरे साथ रहें। मैं यह जानना चाहूंगा कि क्या यह गारंटी है कि मानक द्वारा, memcpy(0,0,0)यह सुरक्षित है। केवल प्रतिबंध मुझे मिल सकता है कि यदि स्मृति क्षेत्र ओवरलैप करते हैं, तो व्यवहार अपरिभाषित है ... लेकिन क्या हम …

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