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

टेम्प्लेट टैग का उपयोग कई संदर्भों में किया जाता है: जेनेरिक प्रोग्रामिंग (विशेष रूप से C ++), और टेम्प्लेट इंजन का उपयोग करके डेटा / दस्तावेज़ निर्माण। कार्यान्वयन पर इस टैग का उपयोग करते समय भारी प्रश्न - कोड भाषा को लागू करने के लिए टैग किया जाता है।

4
Std क्यों नहीं :: समारोह अधिभार संकल्प में भाग लेते हैं?
मुझे पता है कि निम्नलिखित कोड संकलन नहीं करेगा। void baz(int i) { } void baz() { } class Bar { std::function<void()> bazFn; public: Bar(std::function<void()> fun = baz) : bazFn(fun){} }; int main(int argc, char **argv) { Bar b; return 0; } क्योंकि std::functionकहा जाता है कि ओवरलोड रिज़ॉल्यूशन पर …

1
क्या क्लैंग कोड को अस्वीकार करने के लिए सही है जिसमें वर्ग टेम्पलेट के नेस्टेड वर्ग को केवल विशेषज्ञता के माध्यम से परिभाषित किया गया है?
निम्नलिखित वर्ग टेम्पलेट को देखते हुए: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; हम Innerप्रत्येक विशेषज्ञता के लिए अलग से परिभाषित करते हैं Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; और फिर सदस्य समारोह fको सभी विशिष्टताओं के लिए एक बार परिभाषित करें …

2
अस्पष्ट ओवरलोड टेम्पलेट
मेरे पास निम्न अस्थायी कोड है #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void foo(std::vector<std::vector<T1>> bar) { std::cout << "SPECIFIC (vector)" << std::endl; } template<typename T1, int SIZE> void foo(std::vector<std::array<T1, SIZE>> bar) { std::cout << "SPECIFIC (array)" …
16 c++  templates 

3
वैरेडिक टेम्प्लेट: समूहों में तर्क प्रकट करते हैं
मेरे पास एक फ़ंक्शन है जो दो तर्क देता है: template <typename T1, typename T2> void foo(T1 arg1, T2 arg2) { std::cout << arg1 << " + " << arg2 << '\n'; } और एक वैरागी वह है जो जोड़े में अपने तर्कों को आगे बढ़ाए: template <typename... Args> void …

2
टेम्प्लेट टाइपनाम तर्क का संदर्भ कैसे दिया जाए
क्या किसी टेम्पलेट टाइपनाम वाद के तर्क के रूप में संदर्भ पास करने का कोई तरीका है? मेरा मतलब है कि एक इंट पास करने के बजाय, उदाहरण के लिए, एक इंट का संदर्भ पास करना। template <typename T> struct Foo { Foo(T arg) : ptr(arg) {} T ptr; }; …
15 c++  templates 

5
टेम्पलेट कक्षाओं की पीढ़ी के लिए लूप में एक कांस्टेबल चर कैसे है?
मेरे पास एक कोड है template <size_t N> class A { template <size_t N> someFunctions() {}; }; अब मैं कक्षा के उदाहरण बनाना चाहता हूं और इसमें कई मानों के एक सेट के लिए लूप में फ़ंक्शन को कॉल करना चाहता हूं // in main() int main() { for (int …

1
क्लैंग कोड को संकलित नहीं करता है, लेकिन जीसीसी और एमएसएमएक्स ने इसे संकलित किया है
मुझे समझ नहीं आ रहा है कि समस्या क्या है: या तो मेरे कोड में या संकलक में (कम संभव)। इस तरह का एक कोड है: #include <iostream> #include <type_traits> #include <set> template<typename T, typename = void> struct TestA: std::false_type {}; template<typename T> struct TestA<T, std::void_t<typename T::reverse_iterator>> : std::true_type {}; …

2
किसी वस्तु का अभिन्न होने या न होने का एक वर्ग प्रकार है या नहीं यह जानने में क्या हर्ज है?
नमस्कार, मैंने Cppreference.com में इस तरह के कई उदाहरण देखे हैं: std::is_class<T> std::is_integral और इसी तरह। मुझे पता है कि मैं उदाहरण के लिए कोड चलाता हूं trueया नहीं false। लेकिन इसमें क्या बात है? जैसे वस्तु को जानना वर्ग प्रकार का है या नहीं? #include <iostream> #include <type_traits> struct …
14 c++  templates 

3
टेम्पलेट फ़ंक्शन पॉइंटर-टू-मेंबर्स-फ़ंक्शन के लिए काम नहीं करता है
हाल ही में मैंने कुछ कोड repetitions को हल करने के लिए एक टेम्पलेट फ़ंक्शन लिखा था। यह इस तरह दिख रहा है: template<class T, class R, class... Args> R call_or_throw(const std::weak_ptr<T>& ptr, const std::string& error, R (T::*fun)(Args...), Args... args) { if (auto sp = ptr.lock()) { return std::invoke(fun, *sp, …
14 c++  templates 

1
टेम्पलेट क्लास में संरचना के साथ सी ++ संकलक मुद्दा
निम्नलिखित कोड gcc या क्लैंग के साथ संकलन नहीं करता है । template<class T> class foo{}; template<class T> class template_class_with_struct { void my_method() { if(this->b.foo < 1); }; struct bar { long foo; } b; }; त्रुटि संदेश है error: type/value mismatch at argument 1 in template parameter list for …

3
फ़ंक्शन टेम्पलेट के अंदर फ़ंक्शन निष्पादित करें केवल उन प्रकारों के लिए जो फ़ंक्शन परिभाषित हैं
मेरे पास एक फ़ंक्शन टेम्प्लेट है जो इनपुट के रूप में कई अलग-अलग प्रकार लेता है। उन प्रकारों में से उनमें से केवल एक का ही getInt()कार्य है। इसलिए मैं चाहता हूं कि कोड केवल उस प्रकार के लिए फ़ंक्शन को चलाए। कृपया कोई उपाय सुझाएं। धन्यवाद #include <type_traits> #include …

6
C ++ में जेनेरिक स्ट्रक्चर्स की तुलना कैसे करें?
मैं एक सामान्य तरीके से संरचनाओं की तुलना करना चाहता हूं और मैंने कुछ ऐसा किया है (मैं वास्तविक स्रोत को साझा नहीं कर सकता हूं, इसलिए यदि आवश्यक हो तो अधिक विवरण मांगें): template<typename Data> bool structCmp(Data data1, Data data2) { void* dataStart1 = (std::uint8_t*)&data1; void* dataStart2 = (std::uint8_t*)&data2; …

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

1
टेम्पलेट क्लास में C ++ 20 आउट-ऑफ-क्लास परिभाषा
C ++ के C + 20 मानक तक, जब हम एक आउट-ऑफ-क्लास ऑपरेटर को परिभाषित करना चाहते थे जो टेम्पलेट क्लास के कुछ निजी सदस्यों का उपयोग करता है, तो हम इसके समान एक निर्माण का उपयोग करेंगे: template <typename T> class Foo; template <typename T> constexpr bool operator==(T lhs, …
12 c++  templates  c++20 

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

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