std::tuple
होता है, दूसरों के बीच, निम्नलिखित कंस्ट्रक्टर्स:क्या सभी std :: tuple constructors आवश्यक हैं?
explicit tuple(const Types&... args);
template< class... UTypes >
explicit tuple(UTypes&&... args);
दोनों बराबर विवरण हैं, जिसमें वे args
में संबंधित मान के साथ तत्वों में से प्रत्येक के आरंभ की है। केवल अंतर यह है कि दूसरे में पैरामीटर अग्रेषित किए जाते हैं।
जो मैंने रावल संदर्भों के बारे में समझा है, मुझे नहीं लगता कि पहले संस्करण की आवश्यकता क्यों है क्योंकि उसी पैरामीटर को दूसरे संस्करण में पारित किया जा सकता है। संदर्भों को अग्रेषित किया जाएगा और कोई भी बुद्धिमान नहीं होगा, विशेष रूप से चाल अर्थशास्त्र का कोई उल्लेख नहीं है।
क्या कोई यह समझा सकता है कि यह दोनों रचनाकारों को आवश्यक बनाता है?
template <typename T>
struct foo
{
foo(const T&);
template <typename U>
foo(U&&);
};
दूसरे निर्माता टेम्पलेट प्रकार कटौती के कुछ प्रकार की आवश्यकता है:
दूसरे संस्करण अधिभार सेट नहीं तो सब से बाहर SFINAE-डी है 'UTypes' परोक्ष इसी के लिए परिवर्तनीय हैं' Types' – jrok