निम्न उदाहरण की तरह एक साधारण उदाहरण में:
struct MyClass {MyClass () {} मायक्लास (कॉन्स्ट मायक्लास & amp;) {}}; Int main () {std :: vector & lt; MyClass & gt; वस्तुओं; मायक्लस ओज 1; objects.push_back (obj1); के लिए (ऑटो & amp; obj: वस्तु) {} वापसी 0; }
ऑटो और amp; amp; काम? वर्ग में कोई कदम समर्थन नहीं है, इस कोड को क्या करना चाहिए? मुझे समझ नहीं आ रहा है ..
इस क्रम को क्रम के इटरेटर प्रकार के संदर्भ में प्राप्त प्रकार से घटाना है ; यह एक लावल्यू संदर्भ, MyClass & amp;
है। "संदर्भ ढहने" के नियमों से, rvalue संदर्भ lvalue संदर्भ "" lvalue संदर्भ प्रकार देता है। >
तो स्वतः और amp;
को MyClass & amp;
होना अनुमानित किया गया है।
यदि अनुक्रम में इटरेटर प्रकार होता है जो rvalue संदर्भ, फिर इसके बजाय इसे MyClass & amp; amp; & amp; amp;
के रूप में अनुमानित किया जा सकता है, यदि वर्ग उनको समर्थन देता है।
Comments
Post a Comment