Boost logo

Boost :

From: Terje Slettebø (tslettebo_at_[hidden])
Date: 2002-10-14 16:13:23


>From: "Andrei Alexandrescu" <andrewalex_at_[hidden]>

> I need to mollify my arguments against the lying const. But only a bit!
The
> operator+ example shows that many compilers prefer const T& as the first
> argument in certain cases. However, in the case of assignment:
>
> T& operator=(const T& src)
> {
> T copy(src);
> copy.swap(*this);
> return *this;
> }
>
> versus:
>
> T& operator=(T src)
> {
> src.swap(*this);
> return *this;
> }
>
> I'd be quite surprised of the compiler could go past the const in the
> argument.

I'm not sure what you mean, here. In both cases, it needs to make a copy. I
ran a quick test on the above, and at least on Intel C++, both made just one
copy. Could you elaborated on what you mean?

> P.S. The interest in ZUTO is staggering. The number of volunteering
> reviewers has hit 70. If I made any mistake, I'm toast!!! :o)

Please add me to the list. :)

I could also do tests on various compilers, for it.

Regards,

Terje


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk