Does D really need something like const&?
Steven Schveighoffer
schveiguy at yahoo.com
Fri Mar 1 15:46:36 PST 2013
On Fri, 01 Mar 2013 18:35:43 -0500, Namespace <rswhite4 at googlemail.com>
wrote:
> At least I have noticed so far, that you're in any case for something
> like const&. Accordingly, you answer my question with 'yes, we need
> something like this.'.
I would say yes, we need something like rvalue references to avoid
copy-paste hell. const& is not a good way to describe it, because it
implies const, which this problem does not require.
This is the major problem that Andrei had with it (at least as I
understand his past statements) -- it conflates const with rvalue
references. Sometimes, you want a const ref that does NOT bind to an
rvalue.
The one huge problem I've had with lack of rvalue references is with
arithmetic operators:
struct M
{
M opAdd(const ref M other) const {...}
}
M m;
auto m2 = (m + m) + m; // ok!
auto m3 = m + (m + m); // error!
This is crap.
-Steve
More information about the Digitalmars-d
mailing list