Vision for the D language - stabilizing complexity?

Shachar Shemesh via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 15 02:34:13 PDT 2016


On 15/07/16 02:06, Jesse Phillips wrote:
> On Thursday, 14 July 2016 at 18:49:36 UTC, Steven Schveighoffer wrote:
>> If what you wrote is UB (as it is in D), then the compiler can go
>> ahead and assign 5 to y.
>>
>> In C++, the compiler has to reload x, because it may have changed.
>>
>> Someone explained this to me recently on the NG.
>>
>> -Steve
>
> Thanks, so when people say "C++ defines the behavior of modifying const"
> what they really mean is "C++ defines const as meaningless."

Const is very far from meaningless in C++. It is an extremely valuable 
tool in turning bugs into compile time errors. That is not something to 
think lightly of (and, sadly, not something D does very well)

In terms of optimizations, there are, indeed, cases where, had const not 
been removable, things could be optimized more. I don't think D has a 
right to complain about C++ in that regard, however.

Also, see 
http://stackoverflow.com/questions/25029516/c-reliance-on-argument-to-const-reference-not-changing

Shachar


More information about the Digitalmars-d mailing list