template-meta-programming पर टैग किए गए जवाब

26
वर्ग सदस्य फ़ंक्शन के अस्तित्व के लिए अस्थायी जाँच?
क्या यह संभव है कि एक निश्चित सदस्य फ़ंक्शन को किसी वर्ग पर परिभाषित करने के आधार पर व्यवहार में परिवर्तन करने वाला टेम्पलेट लिखना संभव हो? यहाँ एक सरल उदाहरण है कि मैं क्या लिखना चाहता हूँ: template<class T> std::string optionalToString(T* obj) { if (FUNCTION_EXISTS(T->toString)) return obj->toString(); else return …

20
आप एक std :: tuple के तत्वों पर कैसे पुनरावृति कर सकते हैं?
मैं एक ट्यूपल पर कैसे पुनरावृति कर सकता हूं (C ++ 11 का उपयोग करके)? मैंने निम्नलिखित कोशिश की: for(int i=0; i<std::tuple_size<T...>::value; ++i) std::get<i>(my_tuple).do_sth(); लेकिन यह काम नहीं करता है: त्रुटि 1: क्षमा करें, अनइम्प्लीमेंट की गई: 'श्रोता ...' को एक निश्चित लंबाई तर्क सूची में विस्तारित नहीं कर सकता …

15
C ++ टेम्पलेट ट्यूरिंग-पूर्ण?
मुझे बताया गया है कि C ++ में टेम्प्लेट सिस्टम संकलन समय पर ट्यूरिंग-पूर्ण है। इस पोस्ट में और विकिपीडिया पर भी इसका उल्लेख किया गया है । क्या आप इस संपत्ति का शोषण करने वाले एक संगणना का एक गैर-उदाहरण उदाहरण प्रदान कर सकते हैं? क्या यह तथ्य व्यवहार …

1
अधिक आत्मा पागलपन - पार्सर-प्रकार (नियम बनाम int_parser <>) और मेटा-प्रोग्रामिंग तकनीक
सवाल नीचे की ओर बोल्ड है, समस्या को अंत तक आसवन कोड के टुकड़े द्वारा संक्षेपित किया गया है। मैं अपने कंपोनेंट सिस्टम को टाइप करने की कोशिश कर रहा हूं (टाइप सिस्टम से टाइप करने के लिए स्ट्रिंग से) सिंगल कंपोनेंट में (जैसा कि लक्की द्वारा परिभाषित किया गया …

3
मैं एक बहुआयामी एसटीडी की गहराई कैसे प्राप्त कर सकता हूं :: संकलन समय पर वेक्टर?
मेरे पास एक फ़ंक्शन है जो एक बहुआयामी लेता है std::vectorऔर टेम्पलेट पैरामीटर के रूप में गहराई (या आयामों की संख्या) को पारित करने की आवश्यकता होती है। इस मान को हार्डकोड करने के बजाय, मैं एक constexprफ़ंक्शन लिखना चाहूंगा जो मूल्य लेगा std::vectorऔर unsigned integerमूल्य के रूप में गहराई …

4
टेम्प्लेट मेटा प्रोग्रामिंग
क्या कोई मुझे समझा सकता है, कि पहला टेम्प्लेट मेटा-प्रोग्रामिंग तरीका अनंत लूप में क्यों जा रहा है, लेकिन दूसरा सही ढंग से चलता है। #include &lt;iostream&gt; using namespace std; template&lt;int N, int M&gt; struct commondivs { static const int val = (N&lt;M) ? commondivs&lt;N,(M-N)&gt;::val : commondivs&lt;(N-M),M&gt;::val; }; template&lt;int N&gt; …

2
किसी फंक्शन को कॉन्सेप्ट पास करना
चूंकि अवधारणाओं को संकलन-समय की भविष्यवाणी के रूप में परिभाषित किया जाता है, क्या यह संकलन-समय के एल्गोरिदम के लिए वास्तव में इन विधेयकों का पुन: उपयोग करना संभव है? उदाहरण के लिए यह जाँचना संभव होगा कि क्या सभी प्रकार के टपल एक अवधारणा के अनुरूप हैं? जहां तक …

1
एक कॉन्स्ट्रेक्स निर्माता में एक सरणी को इनिशियलाइज़ करने के लिए वैध?
निम्नलिखित कोड वैध है? template &lt;int N&gt; class foo { public: constexpr foo() { for (int i = 0; i &lt; N; ++i) { v_[i] = i; } } private: int v_[N]; }; constexpr foo&lt;5&gt; bar; क्लैंग इसे स्वीकार करता है, लेकिन जीसीसी और एमएसवीसी इसे अस्वीकार करते हैं। जीसीसी …
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.