ले जाएं मैं एक निश्चित प्रकार के लिए चाल कन्स्ट्रक्टर (कोई कॉपी कन्स्ट्रक्टर) लागू करना चाहता हूं जिसे boost::unordered_map
में मान प्रकार होना चाहिए। आइए इस प्रकार को Composite
पर कॉल करें।कन्स्ट्रक्टर और प्रारंभिक सूची
struct Base
{
Base(..stuff, no default ctor) : initialization list {}
Base(Base&& other) : initialization list {}
}
struct Composite
{
Base member;
Composite(..stuff, no default ctor) : member(...) {}
Composite(Composite&& other) : member(other.member) {} // <---- I want to make sure this invokes the move ctor of Base
}
मैं लिखने के लिए यह इतना boost::unordered_map< Key , Composite >
प्रति निर्माता की आवश्यकता नहीं है चाहते हैं, और सिर्फ इस कदम निर्माता का उपयोग करता है:
Composite
निम्नलिखित हस्ताक्षर हैं। यदि संभव हो, तो Composite
के चालक कन्स्ट्रक्टर की आरंभिक सूची में Base
की कॉपी कन्स्ट्रक्टर का उपयोग नहीं करना चाहता हूं।
क्या यह संभव है?
+1। – mavam
@MatthiasVallentin: यह शब्द स्कॉट मेयर्स द्वारा स्पॉट पर विकसित किया गया था। मानक समिति आजकल "अग्रेषण संदर्भ" शब्द पसंद करती है। –
हम अब लगभग दो साल हैं, यह देखकर खुशी हुई कि समुदाय स्थिर अवधि में परिवर्तित हो गया है। – mavam