
On Sat, Jun 12, 2010 at 6:43 PM, Steven Watanabe
AMDG
Peng Yu wrote:
I need to construct some container in a function and return it. I think that some container in boost follow lazy copy sematics but some don't.
Meaning copy on write? I don't think that any containers in Boost use copy on write.
For example, if tr1::unordered_map uses lazy copy, then I can return an object of tr1::unordered_map. Otherwise, I should return boost::shared_ptrtr1::unordered_map.
Are you sure that RVO isn't enough?
I don't know. Does anybody know if RVO is enough? If tr1::unordered_map is returned from a function A, and the function A is called by function B, which does something on the returned tr1::unordered_map and returned it as well. Considering this chain continues many levels, Z->...->B->A. Does RVO work for this case? -- Regards, Peng