To help LDC/GDC
Manu
turkeyman at gmail.com
Tue Apr 9 00:52:08 PDT 2013
On 9 April 2013 13:30, Walter Bright <newshound2 at digitalmars.com> wrote:
> On 4/8/2013 5:39 AM, Manu wrote:
>
>> But D makes no further guarantee. I don't see how const in D is any
>> different
>> than const in C++ in that sense? That's basically the concept of const,
>> it's not
>> a useful concept for optimisation, only immutable is.
>>
>
> In C++, it is legal to cast away const and mutate it. That is undefined
> behavior in D.
>
> A D compiler can assume, for example, that a const reference passed to a
> pure function will not mutate that reference, nor anything transitively
> referred to by that reference. No such assumption can be made like that in
> C++.
>
But that's meaningless though, because there's always the possibility that
something somewhere else may have a non-const reference to that thing.
Can you suggest a case where const could EVER be used in any sort of
optimisation?
I don't think const can possibly offer anything to the optimiser in any
language, only type safety... I'd love to be wrong.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130409/61526c15/attachment.html>
More information about the Digitalmars-d
mailing list