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

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

2
C ++ F को कॉल करने के लिए F <T> :: Foo (T &&) में कटौती क्यों नहीं कर सकता?
निम्नलिखित टेम्पलेट संरचना को देखते हुए: template&lt;typename T&gt; struct Foo { Foo(T&amp;&amp;) {} }; यह संकलित करता है, और होने के Tलिए घटाया जाता है int: auto f = Foo(2); लेकिन यह संकलन नहीं करता है: https://godbolt.org/z/hAA9TE int x = 2; auto f = Foo(x); /* &lt;source&gt;:12:15: error: no viable …

2
C ++ - यहाँ 'टेम्प्लेट' कीवर्ड की आवश्यकता क्यों है?
मेरे पास निम्नलिखित कोड हैं: template &lt;typename TC&gt; class C { struct S { template &lt;typename TS&gt; void fun() const {} }; void f(const S&amp; s) { s.fun&lt;int&gt;(); } }; // Dummy main function int main() { return 0; } जब इसे जीसी 9.2 और क्लैंग (9.0) दोनों के साथ …

1
क्लास स्पेशलाइजेशन में क्लैंग / जीसीसी असंगति
मैं इस मुद्दे पर आया था, जबकि विशेषज्ञ करने की कोशिश कर रहा था tuple_size/tuple_elementसंरचित बाइंडिंग के लिए C ++ 17 में कस्टम क्लास के लिए । नीचे कोड जीसीसी में संकलित है, लेकिन क्लैंग में नहीं (दोनों ट्रंक संस्करण, नीचे लिंक देखें)। #include &lt;type_traits&gt; template&lt;typename T, typename... Ts&gt; using …

2
टाइपिंग पाइंट थीम पर भिन्नता: इन-प्लेस ट्रिवियल कंस्ट्रक्शन
मुझे पता है कि यह एक बहुत ही सामान्य विषय है, लेकिन जितना विशिष्ट यूबी को ढूंढना आसान है, मुझे अब तक यह संस्करण नहीं मिला। इसलिए, मैं डेटा की वास्तविक प्रतिलिपि से बचने के दौरान पिक्सेल वस्तुओं को औपचारिक रूप से पेश करने की कोशिश कर रहा हूं। क्या …

1
क्या एक अपूर्ण प्रकार का सूचक अधूरा हो सकता है?
int (*)[]एक अपूर्ण प्रकार हो सकता है? सी 2018 6.2.5 1 कहता है: अनुवाद इकाई के भीतर विभिन्न बिंदुओं पर एक वस्तु प्रकार अपूर्ण हो सकता है (उस प्रकार की वस्तुओं के आकार को निर्धारित करने के लिए पर्याप्त जानकारी का अभाव) या पूर्ण (पर्याप्त जानकारी होना)। इस प्रकार ऐसा …

1
ऑपरेटर नए और निर्माता के तर्क का निष्पादन आदेश
क्या सी ++ कल्पना क्रम निर्दिष्ट operator newऔर के निर्माता Aमें new C(A())। जी ++ ने ऑर्डर को A()-&gt; new-&gt; होने दिया C(), लेकिन क्लैंग ++ ने इसे रहने दिया new-&gt; A()-&gt; C()। क्या अंतर अनिर्दिष्ट व्यवहार के कारण है? g ++: 7.4.0 clang ++: 10.0.0 #include &lt;iostream&gt; #include &lt;cstdlib&gt; …

1
टेम्प्लेट और नाम लुकअप को समझने की कोशिश करना
मैं निम्नलिखित कोड स्निपेट को समझने की कोशिश कर रहा हूं स्निपेट # 1 template &lt;typename T&gt; struct A { static constexpr int VB = T::VD; }; struct B : A&lt;B&gt; { }; न तो gcc9 और न ही clang9 यहां कोई त्रुटि है। Q. यह कोड क्यों संकलित करता …
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.