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

वैरिएडिक टेम्प्लेट वे टेम्प्लेट होते हैं जो पैरामीटर्स की एक संख्या लेते हैं।

8
एक मिलान फ़ंक्शन पॉइंटर को कॉल करने के लिए एक टपल को "अनपैकिंग"
मैं std::tupleअलग-अलग संख्या में मूल्यों को संग्रहीत करने की कोशिश कर रहा हूं , जिसे बाद में फ़ंक्शन पॉइंटर को कॉल के लिए तर्क के रूप में उपयोग किया जाएगा जो संग्रहीत प्रकारों से मेल खाता है। मैंने एक सरलीकृत उदाहरण बनाया है जिसमें समस्या को हल करने के लिए …

6
make_unique और परफेक्ट फॉरवर्डिंग
std::make_uniqueमानक C ++ 11 लाइब्रेरी में कोई फ़ंक्शन टेम्पलेट क्यों नहीं है ? मुझे लगता है std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); थोड़ी क्रिया। निम्नलिखित बहुत अच्छा नहीं होगा? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); यह newअच्छी तरह से छुपाता है और केवल एक बार प्रकार का उल्लेख करता है। वैसे …

1
एक वैरिएबल फंक्शन में सभी तर्कों पर कोई व्यक्ति std :: को कैसे कॉल करेगा?
मैं सिर्फ एक जेनेरिक ऑब्जेक्ट फैक्ट्री लिख रहा था और एक वेरिएडिक टेम्पलेट बनाने के लिए बूस्ट प्रीप्रोसेसर मेटा-लाइब्रेरी का उपयोग कर रहा था (2010 का उपयोग कर रहा है और यह उनका समर्थन नहीं करता है)। मेरे फ़ंक्शन ने प्रतिद्वंद्वी संदर्भों का उपयोग किया और std::forwardसही अग्रेषण करने के …

2
"…" ... टोकन का अर्थ क्या है? यानी पैरामीटर पैक पर डबल एलिप्सिस ऑपरेटर
नए सी ++ 11 हेडर के वर्तमान कार्यान्वयन के माध्यम से ब्राउज़ करते समय, मैंने "......" टोकन पर ठोकर खाई। आप जाँच सकते हैं, कि निम्नलिखित कोड ठीक है [ideone.com के माध्यम से]। template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct …

2
वेरिएडिक टेम्प्लेट के संदर्भ में "..." टोकन के नियम क्या हैं?
C ++ 11 में इस तरह के वैरेडिक टेम्प्लेट हैं: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } इसके बारे में कुछ जिज्ञासाएँ हैं: अभिव्यक्ति std::forward<Args>(args)...दोनों का उपयोग करती है Argsऔर argsकेवल एक ...टोकन। इसके अलावा std::forwardकेवल एक टेम्पलेट पैरामीटर और एक …

4
वेरिएडिक टेम्प्लेट तर्कों को कैसे स्टोर करें?
क्या बाद में उपयोग के लिए किसी पैरामीटर पैक को स्टोर करना संभव है? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void act(){ f(args); // <--- such that this will be possible …

1
C ++ 11: वैरेडिक टेम्प्लेट फ़ंक्शन की संख्या पैरामीटर?
मैं एक वैरिएड टेम्पलेट फ़ंक्शन के लिए तर्कों की संख्या की संख्या कैसे प्राप्त कर सकता हूं? अर्थात: template<typename... T> void f(const T&... t) { int n = number_of_args(t); ... } number_of_argsउपरोक्त में लागू करने का सबसे अच्छा तरीका क्या है ?

10
सुंदर-प्रिंट std :: tuple
यह सुंदर प्रिंटिंग एसटीएल कंटेनरों पर मेरे पिछले प्रश्न का अनुवर्ती है , जिसके लिए हम एक बहुत ही सुंदर और पूरी तरह से सामान्य समाधान विकसित करने में कामयाब रहे। इस अगले चरण में, मैं std::tuple<Args...>वैरेडिक टेम्प्लेट का उपयोग करते हुए सुंदर-प्रिंटिंग को शामिल करना चाहूंगा (इसलिए यह कड़ाई …

3
मैं C ++ में टाइप सूचियों का कार्टासियन उत्पाद कैसे बना सकता हूं?
स्वयं व्याख्यात्मक। मूल रूप से, कहो तो मेरे पास टाइप सूचियाँ हैं: using type_list_1 = type_list<int, somestructA>; using type_list_2 = type_list<somestructB>; using type_list_3 = type_list<double, short>; वे प्रकार सूचियों की चर संख्या हो सकती है। मैं कार्टेसियन उत्पाद का टाइपलिस्ट कैसे प्राप्त करूं? result = type_list< type_list<int, somestructB, double>, type_list<int, …

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

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