सी ++ 11 शुरू की variadic templatesवैरिएडिक टेम्पलेट्स के लिए जोड़े गए नए सिंटैक्टिक इकाइयों के नाम क्या हैं?
template <typename... Args>
void foo(Args... params) {
cout << sizeof...(Args) << endl;
}
Args
और params
के नाम क्या हैं? मुझे पता है कि उनमें से एक (कम से कम?) को एक वैरिएडिक टेम्पलेट पैक कहा जाता है लेकिन यह कौन सा है? और दूसरा क्या कहा जाता है?
और साथ ही, 'टाइपनाम ... Args' एक * टेम्पलेट पैरामीटर पैक * है, लेकिन यह * पैक विस्तार * नहीं है। 'टेम्पलेट <टाइपनाम में ... Args> कक्षा ए {टेम्पलेट कक्षा सी {}; टेम्पलेट <टेम्पलेट कक्षा ... ई> कक्षा एफ {}; }; ',' बी' एक * टेम्पलेट पैरामीटर पैक * है। 'Args ... B' इसकी घोषणा है जो पैटर्न * Args B' का एक * पैक विस्तार * है, जो * टेम्पलेट-पैरामीटर-सूची * में विस्तार कर रहा है। 'टेम्पलेट वर्ग ... ई' पैटर्न 'टेम्पलेट कक्षा ई' का एक पैक विस्तार भी है। –
@ JohannesSchaub-litb क्या आप इस टिप्पणी को उत्तर के रूप में पोस्ट कर सकते हैं? यह निश्चित रूप से पर्याप्त विस्तृत है। – Motti
क्या आप अपना चौथा बिंदु i.e पैटर्न चीज समझा सकते हैं, मेरा मतलब है कि यह पैटर्न चीज़ कैसे काम करती है? और सी ++ के किस हिस्से में यह काम करता है :) –