मैं सिर्फ एक जेनेरिक ऑब्जेक्ट फैक्ट्री लिख रहा था और एक वेरिएडिक टेम्पलेट बनाने के लिए बूस्ट प्रीप्रोसेसर मेटा-लाइब्रेरी का उपयोग कर रहा था (2010 का उपयोग कर रहा है और यह उनका समर्थन नहीं करता है)। मेरे फ़ंक्शन ने प्रतिद्वंद्वी संदर्भों का उपयोग किया और std::forward
सही अग्रेषण करने के लिए और यह मुझे सोचने लगा ... जब C ++ 0X बाहर आता है और मेरे पास एक मानक संकलक था जो मैं वास्तविक वैरिएड टेम्पलेट्स के साथ ऐसा करूंगा। हालांकि, मैं std::forward
तर्कों पर क्या कहूंगा ?
template <typename ...Params>
void f(Params... params) // how do I say these are rvalue reference?
{
y(std::forward(...params)); //? - I doubt this would work.
}
केवल जिस तरह से मैं सोच सकता हूं कि मैन्युअल अनपैकिंग की आवश्यकता होगी ... परमेस और मैं अभी तक या तो वहां नहीं हूं। वहाँ एक त्वरित वाक्यविन्यास है कि काम करेगा?
void f(Params&& ...params)