auto ref is on the docket
Daniel N via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jun 22 23:49:49 PDT 2015
On Tuesday, 23 June 2015 at 01:07:17 UTC, Jonathan M Davis wrote:
> No, you can't guarantee that an auto ref parameter won't be
> mutated, but auto ref clearly indicates that you intend to
> accept both lvalues and rvalues, meaning that it would be
> stupid to be writing the function with the idea that you would
> be passing in an argument which would be mutated. ref on the
> other hand clearly indicates the intention to mutate the
> argument.
>
> - Jonathan M Davis
That is why, as a good API designer, you'd express that fact by
adding const ontop of it, i.e. const ref.
Only for the few rare cases where you need to account for
lazy-caching or similar mutating constructs, you'd be grateful to
have the nice escape hatch, plain ref.
Daniel N
More information about the Digitalmars-d
mailing list