मैं एक चर तर्क तर्क सूची के साथ एक समारोह लिखना चाहता था। मैं अपने विकल्पों का पता लगाना चाहता हूं। मुझे पूरा यकीन है कि मैं इस उद्देश्य के लिए डिजाइन किए गए एक बूस्ट टेम्पलेट क्लास में आया हूं, लेकिन मैं इसका नाम नहीं सोच सकता? क्या कोई मुझे बता सकता है? या मैंने इसे सपना देखा! धन्यवादबूस्ट के साथ परिवर्तनीय तर्क सूचियां?
8
A
उत्तर
7
आप केवल एक ही प्रकार के तर्कों की एक चर गिनती स्वीकार करने के लिए एक कंटेनर ले जा रहा करने के लिए आम बात हो जाएगा की जरूरत है। कंटेनर तथापि ढील जा सकती है Boost.Assign का उपयोग करने का निर्माण:
void f(const std::vector<int>& vec) {}
f(boost::assign::list_of(1)(2)(3)(4));
वैकल्पिक रूप से आप (operator()
या operator<<
के जैसे) अधिक भार खुद के ऑपरेटर के लिए जा सकते हैं, दृष्टिकोण मानक पुस्तकालय धाराओं द्वारा उठाए के समान:
op() << arg1 << arg2 << arg3;
यदि आप वास्तव में एक प्रकार-सुरक्षित विविधता फ़ंक्शन प्रदान करना चाहते हैं (C++ 0x सुविधाओं का उपयोग किए बिना), Boost.Preprocessor सहायता कर सकता है। एक सामान्य उदाहरण:
#define OUT(z, n, name) << name ## n
#define MAKE_FUNC(z, n, unused) \
template<class T BOOST_PP_ENUM_TRAILING_PARAMS(n, class T)> \
void func(T t BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(n, T, t)) { \
std::cout << t BOOST_PP_REPEAT(n, OUT, t) << std::endl; \
}
BOOST_PP_REPEAT(9, MAKE_FUNC, ~) // generates func() versions taking 1-10 arguments
func(1, "ab", 'c'); // prints "1abc"
संबंधित मुद्दे
- 1. सी फ़ंक्शंस में परिवर्तनीय तर्क सूचियां - तर्क सूची के माध्यम से ठीक से पुन: कैसे करें?
- 2. विजुअल बेसिक के साथ परिवर्तनीय तर्क सूची?
- 3. डिफ़ॉल्ट तर्क के साथ परिवर्तनीय लंबाई तर्क सूची?
- 4. परिवर्तनीय तर्क सूची
- 5. परिवर्तनीय लंबाई तर्क के साथ फ़ंक्शन को कैसे लपेटें?
- 6. परिवर्तनीय लंबाई टेम्पलेट तर्क सूची?
- 7. व्यक्तिगत बूस्ट पुस्तकालयों के साथ संकलन, बूस्ट
- 8. बूस्ट :: विभिन्न बूस्ट संस्करणों के साथ TIME_UTC (_)
- 9. लंबे कन्स्ट्रक्टर प्रारंभिक सूचियां
- 10. परिवर्तनीय प्रकार के साथ समाप्त?
- 11. sed के साथ और परिवर्तनीय
- 12. बूस्ट। पायथन - पासिंग बूस्ट :: पायथन :: ऑब्जेक्ट पाइथन फ़ंक्शन के लिए तर्क के रूप में?
- 13. परिवर्तनीय संख्या/तर्क के प्रकार के साथ फ़ंक्शन के लिए टाइपस्क्रिप्ट घोषणा फ़ाइल
- 14. तर्क के साथ सेटटाइमआउट
- 15. एसक्यूएल सर्वर क्वेरी: परिवर्तनीय के साथ तेज़ लेकिन परिवर्तनीय
- 16. बूस्ट आत्मा के साथ एक व्याकरण पार्स
- 17. सी में परिवर्तनीय तर्क, सामान्य प्रकार के साथ मूल्य कैसे प्राप्त करें?
- 18. दृश्य सी ++ में एक परिवर्तनीय तर्क सूची के साथ मैक्रोज़ लिखने का कोई तरीका है?
- 19. स्कैला: मैं एक परिवर्तनीय तर्क सूची के साथ एक अज्ञात फ़ंक्शन को कैसे परिभाषित करूं?
- 20. बूस्ट प्रोग्राम विकल्पों के साथ मैं डिफ़ॉल्ट तर्क मान कैसे प्राप्त करूं?
- 21. अरबी संख्याओं के साथ एचटीएमएल आदेशित सूचियां (ओएल)
- 22. jQuery यूआई के साथ सॉर्ट करने योग्य + नेस्टेड सूचियां 1.8.2
- 23. पथ परिवर्तनीय पैरामीटर के साथ वसंत सुरक्षा
- 24. जावा के साथ परिवर्तनीय स्वर प्ले करें?
- 25. jQuery $ .when() परिवर्तनीय तर्कों के साथ
- 26. COBOL के साथ समस्या COMP-3 परिवर्तनीय
- 27. jQuery परिवर्तनीय के साथ प्रतिस्थापित करें?
- 28. कार्रवाई तर्क के साथ Moq
- 29. कस्टम तर्क के साथ EventHandler
- 30. बूस्ट के साथ नल पॉइंटर :: shared_ptr?
आप चर तर्क गणना लेकिन एक प्रकार, या भी मनमाना प्रकार मतलब है? –
मुझे यकीन नहीं है कि वास्तव में लाइब्रेरी क्या प्रदान की गई है, मैं इसे स्थानांतरित नहीं कर सकता, मुझे लगता है कि यह va_list पर कुछ प्रकार का सुधार था - संभवतः सुरक्षा – aukm
टाइप करें क्या आपके फ़ंक्शन को केवल एक प्रकार के तर्क लेने की आवश्यकता है या नहीं? –