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

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

1
क्या C ++ 20 में बाद के रनटाइम निर्णय के आधार पर अलग-अलग निहित वस्तुएं हो सकती हैं?
यह प्रश्न P0593 के नवीनतम C ++ 20 मसौदे को जोड़ने के लिए संदर्भित करता है । यहाँ मेरा उदाहरण है: #include <cstdlib> #include <cstdio> void foo(void *p) { if ( std::getchar() == 'i' ) { *(int *)p = 2; std::printf("%d\n", *(int *)p); } else { *(float *)p = 2; …

4
गैर-बुलियन वापसी मूल्य के साथ समानता की तुलना में ओवरलोडिंग होने पर सी ++ 20 में परिवर्तन या क्लैंग-ट्रंक / जीसीसी-ट्रंक में प्रतिगमन?
निम्नलिखित कोड c ++ 17 मोड में क्लैंग-ट्रंक के साथ ठीक संकलित करता है लेकिन c ++ 2a (आगामी c ++ 20) मोड में टूट जाता है: // Meta struct describing the result of a comparison struct Meta {}; struct Foo { Meta operator==(const Foo&) {return Meta{};} Meta operator!=(const Foo&) …

1
जीसीसी के कोण-कोष्ठक के कार्यान्वयन में शामिल हैं। इसका वर्णन नीचे क्यों किया गया है?
इसके खंड 2.6 में शामिल इस दस्तावेज में निम्नलिखित अनुच्छेद हैं: यदि रेखा एक टोकन स्ट्रीम से शुरू होती है, जिसमें <टोकन शामिल है और एक> टोकन शामिल है, तो फ़ाइल नाम बनाने के लिए <और पहले> के बीच के टोकन संयुक्त हैं। टोकन के बीच कोई भी व्हाट्सएप एक …
11 c++  c  gcc  language-lawyer 

1
एक असंबंधित इंटरफ़ेस प्रकार के साथ इनवॉइस करने पर कंपाइलर क्लास प्रकार के पैरामीटर के साथ इस जेनेरिक पद्धति को क्यों चुनता है?
निम्नलिखित दो वर्गों और इंटरफ़ेस पर विचार करें: public class Class1 {} public class Class2 {} public interface Interface1 {} क्यों दूसरी कॉल करने के लिए करता है mandatoryके साथ अतिभारित विधि आह्वान Class2, अगर getInterface1और Interface1साथ कोई संबंध नहीं है Class2? public class Test { public static void main(String[] …

2
क्या T को `std :: डिक्लेव <T>` में उपयोग करने के लिए एक पूर्ण प्रकार होना चाहिए?
इस उदाहरण पर विचार करें ( यहाँ से आ रहे हैं ): #include &lt;type_traits&gt; #include &lt;iostream&gt; template &lt;typename U&gt; struct A { }; struct B { template &lt;typename F = int&gt; A&lt;F&gt; f() { return A&lt;F&gt;{}; } using default_return_type = decltype(std::declval&lt;B&gt;().f()); }; int main() { B::default_return_type x{}; std::cout &lt;&lt; std::is_same&lt; …

2
C ++ टेम्पलेट टेम्पलेट तर्क प्रकार कटौती
मेरे पास कोड है जो स्ट्रिंग्स के कंटेनर के ऊपर जाकर एक पैटर्न के मैचों को ढूंढता है और प्रिंट करता है। टेम्पू में फंक्शन फू में प्रिंटिंग की जाती है कोड #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;iterator&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;tuple&gt; #include &lt;utility&gt; template&lt;typename Iterator, template&lt;typename&gt; class …

3
विभिन्न कंपाइलरों में C ++ और C के बीच अहस्ताक्षरित बिटफील्ड पूर्णांक अभिव्यक्तियों का असंगत ट्रंकेशन
2 संपादित करें : मैं एक अजीब परीक्षण विफलता डिबग कर रहा था जब एक फ़ंक्शन पहले C ++ स्रोत फ़ाइल में रहता था, लेकिन एक सी फ़ाइल वर्बेटिम में स्थानांतरित हो गया, गलत परिणाम वापस करना शुरू कर दिया। नीचे दिए गए MVE जीसीसी के साथ समस्या को पुन: …

1
क्या CHAR_MAX के चारों ओर लपेटने के लिए CHAR_MAX के लिए एक चार्ट मूल्य निर्धारित किया गया है?
मेरा कोड: #include &lt;stdio.h&gt; #include &lt;limits.h&gt; int main() { char c = CHAR_MAX; c += 1; printf("CHAR_MIN=%d CHAR_MAX=%d c=%d (%c)\n", CHAR_MIN, CHAR_MAX, c, c); } आउटपुट: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () हम देखते हैं कि जब हम एक charवैरिएबल सेट को बढ़ाते हैं CHAR_MAX, तो वह इधर-उधर हो जाता है CHAR_MIN। …

1
संपत्ति डिफ़ॉल्ट मान के माध्यम से संबंध बदलने की कोशिश करते समय अप्रत्याशित InvalidOperationException
नीचे दिए गए नमूना कोड में मुझे निम्न अपवाद मिलते हैं db.Entry(a).Collection(x =&gt; x.S).IsModified = true: System.InvalidOperationException: 'इकाई प्रकार' B 'का उदाहरण ट्रैक नहीं किया जा सकता क्योंकि कुंजी मान' {Id: 0} 'के साथ एक अन्य उदाहरण पहले से ही ट्रैक किया जा रहा है। मौजूदा संस्थाओं को संलग्न करते …

2
फ़ंक्शन प्रकार के तर्क के लिए टेम्पलेट तर्क कटौती
निम्नलिखित कार्यक्रम पर विचार करें। #include &lt;iostream&gt; template &lt;typename T&gt; void f( void ( *fn )( T ) ) { fn( 42 ); } void g( int x ) { std::cout &lt;&lt; "g( " &lt;&lt; x &lt;&lt; " );\n"; } int main() { f( g ); } कार्यक्रम सफलतापूर्वक संकलित …

1
एक दूसरे निहितार्थ को जोड़कर तर्क की बौखलाहट को रोका क्यों जाता है?
मैं इस मुद्दे पर आया जब Add&lt;char&gt; for Stringमानक पुस्तकालय में निहित जोड़ने की कोशिश कर रहा था । लेकिन हम इसे आसानी से दोहरा सकते हैं, ऑपरेटर शेंनिगन के बिना। हम इसके साथ शुरू करते हैं: trait MyAdd&lt;Rhs&gt; { fn add(self, rhs: Rhs) -&gt; Self; } impl MyAdd&lt;&amp;str&gt; for …

1
"जोरदार" से पहले क्या होता है?
वाक्यांश "जोरदार पहले होता है" C ++ ड्राफ्ट मानक में कई बार उपयोग किया जाता है। उदाहरण के लिए: समाप्ति [basic.start.term] / 5 यदि स्थिर भंडारण अवधि के साथ किसी वस्तु के आरंभीकरण का पूरा होने से पहले std :: atexit (देखें, [support.start.term]) पर कॉल करने से पहले दृढ़ता से …

2
अशक्त सूचक तर्क और असंभव पोस्टकंडिशन के साथ मानक अपवादों का निर्माण
निम्नलिखित कार्यक्रम पर विचार करें: #include&lt;stdexcept&gt; #include&lt;iostream&gt; int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&amp;) { std::cout &lt;&lt; "Caught!\n"; } } GCC और Clang libstdc ++ के साथ कॉल करें std::terminateऔर संदेश के साथ कार्यक्रम को रद्द करें terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct …

1
अनिर्दिष्ट इम्प्लिक्ट ऑब्जेक्ट क्रिएशन
चूंकि P0593 निम्न-स्तरीय ऑब्जेक्ट हेरफेर के लिए ऑब्जेक्ट्स का अंतर्निहित निर्माण स्वीकार किया गया है, इसलिए वस्तुओं को अब C ++ 20 में अंतर्निहित किया जा सकता है । विशेष रूप से प्रस्ताव द्वारा प्रस्तुत शब्दांकन निश्चित संचालन (जैसे कि std::malloc) को कुछ प्रकार की वस्तुओं के जीवनकाल को स्वचालित …

1
क्या किसी वस्तु के सदस्य फ़ंक्शन को फिर से शुरू करना यूबी है जिसका जीवनकाल समाप्त हो गया है?
यह प्रश्न इस टिप्पणी से उपजा है: C ++ 20 कोराउटाइन के लिए लैम्बडा आजीवन स्पष्टीकरण इस उदाहरण के बारे में: auto foo() -&gt; folly::coro::Task&lt;int&gt; { auto task = []() -&gt; folly::coro::Task&lt;int&gt; { co_return 1; }(); return task; } तो सवाल यह है कि क्या कोरटाइन को अंजाम देकर लौटे …

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