मानक के अनुसार (मसौदा)
[class.copy]
3 दसवीं कक्षा के लिए एक गैर टेम्पलेट निर्माता एक चाल निर्माता अगर अपनी पहली पैरामीटर प्रकार एक्स & की है &, स्थिरांक एक्स & &, अस्थिर एक्स & &, या स्थिरांक अस्थिर एक्स & &, और या तो कोई अन्य मापदंडों वरना अन्य सभी बराबर हैं एममीटर के पास डिफ़ॉल्ट तर्क हैं (8.3.6)। [उदाहरण: वाई :: वाई (वाई & &) एक चालक कन्स्ट्रक्टर है।
केवल गैर-टेम्पलेट निर्माता कन्स्ट्रक्टर को स्थानांतरित कर सकते हैं। कॉपी कन्स्ट्रक्टर † पर भी लागू होता है। इसलिए निहित चाल कन्स्ट्रक्टर उत्पन्न होता है।
आप सामान्य रूप से चालक को कार्यान्वित करते हैं। विशेषज्ञता काम नहीं करेगी क्योंकि निहित गैर-टेम्पलेट चालक कन्स्ट्रक्टर को ओवरलोड रिज़ॉल्यूशन द्वारा प्राथमिकता दी जाती है।
† यदि तर्क प्रकार बिल्कुल const T&
से मेल नहीं खाता है, तो टेम्पलेट संदर्भ ओवरलोड रिज़ॉल्यूशन जीतता है। प्रवीण के उदाहरण में देखा जा सकता है कि यह आसानी से हो सकता है।
ऐसा प्रतीत होता है कि जीसीसी में कम से कम, टेम्पलेट सीटीओ को आगे बढ़ते समय नहीं माना जाता है: http://coliru.stacked-crooked.com/a/3c995d34b40fb4bc यदि मानक के अनुसार यह मामला है, तो आप move ctor को कार्यान्वित कर सकते हैं सामान्य तरीका – user2079303