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

C ++ 17 2017 में स्वीकृत C ++ मानक का नाम है। यह पिछले C ++ 14 मानक पर आधारित है, जो मुख्य भाषा और मानक पुस्तकालय में सुधार करता है, और कुछ नई भाषा सुविधाओं को जोड़ता है।

1
क्या __func__ पॉइंटर्स के दो कॉन्स्ट्रेप इंस्टेंसेस का अंतर अभी भी कॉन्स्टैक्स है?
क्या यह वैध सी ++ है? int main() { constexpr auto sz = __func__ - __func__; return sz; } GCC और MSVC को लगता है कि यह ठीक है, क्लैंग को लगता है कि यह नहीं है: कंपाइलर एक्सप्लोरर । सभी कंपाइलर सहमत हैं कि यह एक ठीक है: कंपाइलर …

1
यह std :: gcd में एक बग है?
मैं इस व्यवहार से आया std::gcdहूं कि मुझे अप्रत्याशित लगा: #include <iostream> #include <numeric> int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type<decltype(a), decltype(b)>::type; C ca = std::abs(a); C cb = b; std::cout << a …

5
पैरामीटर पैक के समूहबद्ध या युग्मित गुना कैसे बनाएं?
template<class Msg, class... Args> std::wstring descf(Msg, Args&&... args) { std::wostringstream woss; owss << Msg << ". " << ... << " " << args << ": '" << args << "' ";//not legal at all //or owss << Msg << ". " << args[0] << ": '" << args[1] << …

2
क्या जीसीसी 9 एसटीडी की वैधता की स्थिति से बचा रहा है :: संस्करण की अनुमति है?
मैंने हाल ही में एक Reddit चर्चा का पालन किया है जो कंपाइलरों में std::visitअनुकूलन की एक अच्छी तुलना की ओर ले जाता है । मैंने निम्नलिखित पर ध्यान दिया: https://godbolt.org/z/D2Q5ED GCC9 और Clang9 दोनों (मुझे लगता है कि वे समान stdlib साझा करते हैं) सभी प्रकार की कुछ शर्तों …

1
क्या std :: वेक्टर रेंज कंस्ट्रक्टर स्पष्ट रूपांतरण कर सकता है?
निम्नलिखित कार्यक्रम अच्छी तरह से गठित है? #include <vector> struct A { explicit A(int) {} }; int main() { std::vector<int> vi = {1, 2, 3, 4, 5}; std::vector<A> va(vi.begin(), vi.end()); } C ++ 17 के अनुसार [क्रम ।reqmts], के लिए आवश्यकता X u(i, j); Xएक अनुक्रम कंटेनर कहां है: Tहोगा …
14 c++  c++17 

1
एसटीडी क्यों नहीं करता है :: क्लैंग / विन के तहत वेक्टर <बूल> तत्वों पर स्वैप काम?
मेरे पास इस तरह का कोड है: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } vector&lt;bool&gt;एक तरफ की पवित्रता के बारे में तर्क , यह ठीक काम कर रहा था: मैक के लिए क्लैंग विंडोज के लिए विजुअल स्टूडियो लिनक्स के लिए जीसीसी फिर मैंने …

3
एक लैम्ब्डा फ़ंक्शन को अधिभारित करें
एक साधारण स्थानीय लैम्ब्डा फ़ंक्शन को कैसे अधिभारित करें? मूल समस्या का SSE: #include &lt;iostream&gt; #include &lt;map&gt; void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map&lt;char, int&gt; table{ {'a', …

1
C ++ nullptr कार्यान्वयन कैसे काम करता है?
मैं यह जानने के लिए उत्सुक हूं कि कैसे nullptrकाम करता है। मानक N4659 और N4849 कहते हैं: इसे टाइप करना होगा std::nullptr_t; आप इसका पता नहीं लगा सकते हैं; इसे सीधे एक पॉइंटर और पॉइंटर को सदस्य में बदला जा सकता है; sizeof(std::nullptr_t) == sizeof(void*); इसका रूपांतरण boolहै false; …

2
अगर लैम्ब्डा में static_assert के साथ कॉन्स्टैक्स होता है, तो कौन सा कंपाइलर सही है?
जब हम एक static_assertमें उपयोग करना चाहते हैं तो हमें if constexprकुछ टेम्पलेट पैरामीटर पर निर्भर होना चाहिए। दिलचस्प बात यह है कि जब कोड लैम्बडा में लपेटा जाता है तो जीसीसी और क्लैग असहमत होते हैं। निम्न कोड gcc के साथ संकलित करता है, लेकिन क्लैग मुखर को ट्रिगर …

1
संस्करणों के बीच C ++ में अभिव्यक्ति के प्रकार क्यों बदल गए?
मैं C ++ के अभिव्यक्ति प्रकारों को समझने की कोशिश करता हूं और जितना अधिक मैं पढ़ता हूं, मैं उतना अधिक भ्रमित था, क्योंकि मुझे सी ++ ड्राफ्ट को पचाने में बहुत मुश्किल लगता है और इसलिए अन्य संसाधनों को पसंद करते हैं, लेकिन वे या तो एक दूसरे के …
13 c++  c++11  c++14  c++17  c++20 

1
जीसीसी में अस्पष्ट ऑपरेटर
मैंने कुछ स्टाल कंटेनरों की छपाई के लिए एक फंक्शन टेम्प्लेट बनाया #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; template &lt;template &lt;typename, typename&gt; class C, typename T, typename A&gt; std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, const C&lt;T, A&gt;&amp; container) { for (auto&amp; elem : container) { os &lt;&lt; elem &lt;&lt; " "; } return …
13 c++  c++17 

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

2
क्या संकलन समय पर `` तार चार * `के दो तार सम्‍मिलित करना संभव है?
जाहिर है कि हम एक constexprफंक्शन में दो स्ट्रिंग लिटरल को कंसट्रेट कर सकते हैं , लेकिन एक स्ट्रिंग के साथ एक स्ट्रिंग शाब्दिक के कॉन्टेक्टेशन के बारे में क्या है जो किसी अन्य constexprफंक्शन द्वारा नीचे दिए गए कोड के समान है? template &lt;class T&gt; constexpr const char * …
12 c++  c++17 

1
क्या कैप्चरलेस लैम्ब्डा मानक द्वारा खाली होने की गारंटी है?
मैं एक टेम्पलेट फ़ंक्शन में अन्य लैम्ब्डा से खाली (कैप्चरलेस) लैम्ब्डा की पहचान करने का तरीका खोज रहा हूं। मैं वर्तमान में C ++ 17 का उपयोग कर रहा हूं, लेकिन मैं C ++ 20 उत्तरों के लिए भी उत्सुक हूं। मेरा कोड इस तरह दिखता है: template&lt;typename T&gt; auto …
12 c++  lambda  c++17  c++20 

1
एसटीडी बनाने के लिए आधुनिक दृष्टिकोण :: वेक्टर संरेखित मेमोरी को आवंटित करता है
निम्नलिखित प्रश्न , संबंधित है लेकिन जवाब पुराने हैं, और उपयोगकर्ता से टिप्पणी मार्क Glisse पता चलता है कि इस समस्या यह है कि पर्याप्त रूप से विचार विमर्श नहीं किया जा सकता है के लिए सी के बाद से ++ 17 नए दृष्टिकोण हैं। मैं SIMD के लिए ठीक …

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