KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
What is the best way (performance-wise) of returning stl containers from a function? The container returned would usually contain several thousands of items. Method 1: typedef std::list<Item> ItemContainer; ItemContainer CreateManyItems() { ItemContainer result; // fill the 'result' ... return result; } ItemContainer a = CreateManyItems(); Method 2: void CreateManyItems(ItemContainer &output) { ItemContainer result; // fill the 'result' ... output.swap(result); } ItemContainer a; CreateManyItems(a); Method 3: void std::auto_ptr<ItemContainer> CreateManyItems() { std::auto_ptr<ItemContainer> result(new ItemContainer); // fill the 'result' ... return result; } std::auto_ptr<ItemContainer> a = CreateManyItems(); Or is there any better way?
Tags (comma-separated)
Save Edits
Cancel