c++ पर टैग किए गए जवाब

C ++ एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है। यह मूल रूप से C के विस्तार के रूप में डिज़ाइन किया गया था और इसमें एक समान सिंटैक्स है, लेकिन यह अब पूरी तरह से अलग भाषा है। C ++ कंपाइलर के साथ संकलित (कोड होने के बारे में) सवालों के लिए इस टैग का उपयोग करें। विशिष्ट मानक संशोधन [C ++ 11], [C ++ 14], [C ++ 17] या [C ++ 20], आदि से संबंधित प्रश्नों के लिए संस्करण-विशिष्ट टैग का उपयोग करें।

2
C ++ 20 में नामित इनिशियलाइज़र
मुझे c ++ 20 फीचर में से एक के बारे में एक प्रश्न मिला है, नामित इनिशियलाइज़र (इस फ़ीचर के बारे में अधिक जानकारी यहाँ ) #include <iostream> constexpr unsigned DEFAULT_SALARY {10000}; struct Person { std::string name{}; std::string surname{}; unsigned age{}; }; struct Employee : Person { unsigned salary{DEFAULT_SALARY}; }; …

3
कंपाइलर को एक स्थानीय अस्थिर को निरंतर-गुना करने की अनुमति है?
इस सरल कोड पर विचार करें: void g(); void foo() { volatile bool x = false; if (x) g(); } https://godbolt.org/z/I2kBY7 आप संभावित कॉल को न तो देख सकते हैं gccऔर न ही clangऑप्टिमाइज़ कर सकते हैं g। यह मेरी समझ में सही है: अमूर्त मशीन यह मानने के लिए …


3
स्पष्ट के लिए usecase क्या है (बूल)
C ++ 20 ने स्पष्ट (बूल) पेश किया, जो सशर्त रूप से संकलन-समय पर चयन करता है कि एक निर्माता स्पष्ट किया गया है या नहीं। नीचे एक उदाहरण है जो मुझे यहां मिला । struct foo { // Specify non-integral types (strings, floats, etc.) require explicit construction. template <typename …
24 c++  c++20  explicit 

1
क्यों `घोषणापत्र (static_cast <T> (…))` हमेशा `T` नहीं है?
निम्नलिखित कोड के लिए, सभी अंतिम पुष्टि गुजरती है: template&lt;typename T&gt; constexpr void assert_static_cast_identity() { using T_cast = decltype(static_cast&lt;T&gt;(std::declval&lt;T&gt;())); static_assert(std::is_same_v&lt;T_cast, T&gt;); } int main() { assert_static_cast_identity&lt;int&gt;(); assert_static_cast_identity&lt;int&amp;&gt;(); assert_static_cast_identity&lt;int&amp;&amp;&gt;(); // assert_static_cast_identity&lt;int(int)&gt;(); // illegal cast assert_static_cast_identity&lt;int (&amp;)(int)&gt;(); assert_static_cast_identity&lt;int (&amp;&amp;)(int)&gt;(); // static assert fails } यह अंतिम दावा क्यों विफल हो रहा है, …
24 c++  static-cast 

3
C ++ 20 अवधारणाएं: टेम्पलेट तर्क कई अवधारणाओं के लिए योग्य होने पर कौन सा टेम्पलेट विशेषज्ञता चुना जाता है?
दिया हुआ : #include &lt;concepts&gt; #include &lt;iostream&gt; template&lt;class T&gt; struct wrapper; template&lt;std::signed_integral T&gt; struct wrapper&lt;T&gt; { wrapper() = default; void print() { std::cout &lt;&lt; "signed_integral" &lt;&lt; std::endl; } }; template&lt;std::integral T&gt; struct wrapper&lt;T&gt; { wrapper() = default; void print() { std::cout &lt;&lt; "integral" &lt;&lt; std::endl; } }; int main() { …

1
C ++ में क्लास का आकार डेटा सदस्यों की सार्वजनिक / निजी स्थिति पर क्यों निर्भर करता है?
मुझे क्या पता है, c ++ में एक वर्ग का आकार नीचे के कारकों पर निर्भर करता है - सभी गैर-स्थैतिक डेटा सदस्यों का आकार। डेटा सदस्यों का आदेश। यदि बाइट पैडिंग सक्षम है या नहीं। इसके तत्काल आधार वर्ग का आकार। आभासी कार्यों का अस्तित्व। वंशानुक्रम की विधि (वर्चुअल …

2
यह टेम्प्लेट फ़ंक्शन अपेक्षा के अनुरूप व्यवहार क्यों नहीं करता है?
मैं टेम्पलेट कार्यों के बारे में पढ़ रहा था और इस समस्या से उलझन में था: #include &lt;iostream&gt; void f(int) { std::cout &lt;&lt; "f(int)\n"; } template&lt;typename T&gt; void g(T val) { std::cout &lt;&lt; typeid(val).name() &lt;&lt; " "; f(val); } void f(double) { std::cout &lt;&lt; "f(double)\n"; } template void g&lt;double&gt;(double); int …

1
फ़ंक्शन पैरामीटर के लिए टेम्पलेट तर्क प्लेसहोल्डर के रूप में 'ऑटो'
C ++ 20 autoफ़ंक्शन पैरामीटर प्रकार के लिए उपयोग करने की अनुमति देता है । क्या यह फ़ंक्शन पैरामीटर प्रकार के लिए autoटेम्पलेट तर्क प्लेसहोल्डर के रूप में उपयोग करने की अनुमति देता है (समान नहीं है, लेकिन एक तरह से C ++ 17 टेम्पलेट &lt;ऑटो&gt; की भावना में )? …
22 c++  templates  auto  c++20 

3
वैश्विक चर के संदर्भ में लैंबडा फंक्शन म्यूटेबल कैप्चर का व्यवहार अंतर
मैंने पाया कि परिणाम संकलक में भिन्न होते हैं यदि मैं एक परिवर्तनीय कीवर्ड के साथ वैश्विक चर के संदर्भ को कैप्चर करने के लिए लैम्बडा का उपयोग करता हूं और फिर लैम्बडा फ़ंक्शन में मान को संशोधित करता हूं। #include &lt;stdio.h&gt; #include &lt;functional&gt; int n = 100; std::function&lt;int()&gt; f() …

1
स्वयं के इनिशियलाइज़र में वैरिएबल का उपयोग
[basic.scope.pdecl] / C ++ 20 मानक मसौदे में से 1 में नोट में निम्नलिखित (गैर-मानक) उदाहरण था ( पुल अनुरोध के विलय से पहले आंशिक उद्धरण 3580 , इस प्रश्न का उत्तर देखें): unsigned char x = x; [...] x को अपने स्वयं के (अनिश्चित) मूल्य के साथ आरंभीकृत किया …

6
C ++ में ओवरलोडेड कंस्ट्रक्टर्स के माध्यम से अज्ञात प्रकार के एक वैरिएबल की शुरुआत
मुख्य रूप से अजगर की पृष्ठभूमि से आने वाले मैं सी ++ में प्रकारों के साथ काम करने में कुछ संघर्ष कर रहा हूं। मैं कई अतिभारित निर्माणकर्ताओं में से एक के माध्यम से एक वर्ग चर को इनिशियलाइज़ करने का प्रयास कर रहा हूं जो विभिन्न प्रकार के मापदंडों …

2
क्या एक पीओडी प्रकार एक तुच्छ, मानक-लेआउट प्रकार होने के बराबर है?
C ++ 20 में, POD की अवधारणा को हटा दिया गया है, माना जाता है क्योंकि यह तुच्छ और मानक-लेआउट होने का एक अर्थहीन समग्र गुण है। हालाँकि, C ++ 20 ड्राफ्ट में POD की परिभाषा बिल्कुल "तुच्छ और मानक-लेआउट" नहीं है; यह वास्तव में है: POD वर्ग एक ऐसा …

3
कस्टम आवंटनकर्ता द्वारा साझा की गई मेमोरी में एक साझा_प्राथर डिलेटर संग्रहीत है?
कहें कि मेरे पास एक shared_ptrकस्टम आवंटनकर्ता और एक कस्टम डेलेटर है। मुझे मानक में कुछ भी नहीं मिला जो इस बात पर चर्चा करता है कि डिलेटर को कहाँ संग्रहीत किया जाना चाहिए: यह नहीं कहता है कि कस्टम एलोलेटर का उपयोग डेलेटर की मेमोरी के लिए किया जाएगा, …

4
वापसी पर स्पष्ट रूपांतरण की अनुमति नहीं है
#include &lt;optional&gt; bool f() { std::optional&lt;int&gt; opt; return opt; } संकलन नहीं है: 'return': cannot convert from 'std::optional&lt;int&gt;' to 'bool' परामर्श संदर्भ मैंने एक स्पष्टीकरण खोजने के लिए सोचा होगा, लेकिन मैंने इसे पढ़ा क्योंकि यह ठीक होना चाहिए। जब भी किसी प्रकार T1 की अभिव्यक्ति को उस प्रकार को …

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