|
Boost : |
From: Rob Stewart (stewart_at_[hidden])
Date: 2005-09-29 08:22:53
From: "Robert Kawulak" <kawulak_at_[hidden]>
Please don't snip attributions.
> > Use
> >
> > void initialize(value_type & value_o);
> >
> > rather than
> >
> > value_type initialize();
> >
> > Thus, when passed the data member to initialize, it can
> > initialize that object directly. Granted, (N)RVO can often avoid
> > the copy, but this change will ensure you get the efficiency.
>
> I don't think so, because your version of initialize couldn't be used to
> initialize a value in constructor's initialization list. So first the value
> would be default-constructed, and then assigned another value using
> initialize.
Ah. If you're using it in an initializer list, then your version
is better. (N)RVO is your friend in that case.
-- Rob Stewart stewart_at_[hidden] Software Engineer http://www.sig.com Susquehanna International Group, LLP using std::disclaimer;
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk