On Sun, 16 Feb 2014 11:08:51 -0500, Manu <turkey...@gmail.com> wrote:

Another thing that I often do is switch on an expression, but I often have
a problem where, within the scope, I have no way to refer to the result
value.
This is particularly important when range cases appear.

switch(x+10)
{
  case 10: .. case 20:
    // what is the value?
}

Obviously then I need to do this:

auto y = x+10;
switch(y)
{
  case 10: .. case 20:
    // I know y...
}

But this is a bit lame. I'm polluting the outer namespace, and wasting a
line.

I wonder if a variable declaration could be made possible in the switch:

switch(y = x+10) // obviously implicitly auto, like in foreach
{
  case 10: .. case 20:
    // I have y, no pollution of the outer scope, no wasted line. yay!
}

for and foreach can both declare variables this way... does it make sense
here? Useful?

Yes, this would be good. I bet bearophile has an enhancement request already ;)

-Steve

Reply via email to