मुझे एक बड़ी वस्तु चाहिए कि Vec<Vec<MyStruct>
किसी फ़ंक्शन द्वारा आरंभ किया जाए। जब मैंक्या मैं कुशलता से जंग में मूल्य से वस्तु वापस कर सकता हूं?
fn initialize() -> Vec<Vec<MyStruct>> { ... }
C++ में अक्सर ऐसा मैंने सुना है चाहते हैं, वापसी मान अनुकूलन लागू करता है, अगर तुम भाग्यशाली हो और एक अच्छा संकलक है वर्तमान में मैं
fn initialize(mydata : &mut Vec<Vec<MyStruct>>) { ... }
है। क्या हम यहां प्रतिलिपि अक्षम कर सकते हैं और इसे मूल रूप से फ़ंक्शन में पारित छुपा सूचक द्वारा वापस कर दिया है? और भाषा का आरवीओ हिस्सा या वैकल्पिक अनुकूलन है?
[यह चर्चा] (http://discuss.rust-lang.org/t/implementation-details/948/5) सुझाव देता है कि आरवीओ एक सूचक से बड़ा कुछ भी ट्रिगर करता है। लेकिन एनआरवीओ के संबंध में [यह खुला मुद्दा] (https://github.com/rust-lang/rust/issues/18363) भी है। तो मुझे लगता है कि यह इस बात पर निर्भर करता है कि आप 'प्रारंभिक' को कैसे कार्यान्वित करते हैं। – Michael