Is there ANY chance we can fix the bitwise operator precedence rules?
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Jun 21 18:19:17 PDT 2010
On 06/21/2010 07:40 PM, Adam Ruppe wrote:
> What's the point of a switch without implicit fallthrough? If you take
> that away, it offers nothing that if/elseif doesn't. (Aside from not
> retyping the switch(stuff here), which you can bring into a function
> anyway, so whoop-de-doo. And I guess some performance boosts in
> rearranging the cases, but can't the optimizer do that in if/else
> anyway?)
>
> int Case(in int value) { return myvar == value; }
>
> if(Case(10)) {
>
> } else if (Case(20)) {
>
> } else { /* default */ }
>
> You can even use goto and labels to simulate goto case.
>
>
> I'm quite serious here: fallthrough is the defining feature of the
> switch.
Then why are people using switch and next to nobody uses fall through
(provably including Walter, who thinks is using fall through "all the
time")? Simple: because it's a structure expressing handling of a value
against a set of values, whereas cascaded if/else is more general and
therefore less structured.
The same argument could be made in favor of axing for since we already
have while.
Andrei
More information about the Digitalmars-d
mailing list