
2 Nov
2009
2 Nov
'09
5:52 p.m.
AMDG DE wrote:
on 31.10.2009 at 17:12 Mathias Gaunard wrote :
NRVO doesn't involve the assignment operator at all. The optimization also doesn't even require to know what the definition of the copy constructor is, so static analysis of its definition is irrelevant.
i mean that in an example like
type foo(const type &to_be_processed) { type ret; //processing return ret; }
semantics of the copy constructor does matter here nrvo likely not to take place (actually it should NOT take place)
This is exactly the case where NRVO should happen. (NRVO stands for named return value optimization as opposed to RVO which is for temporaries) In Christ, Steven Watanabe