Breaks
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
That's one of the shortcomings of C that will cause trouble for any new C-based language that doesn't want to break code that gets ported to the new language. (Personally, I'd rather have the ideal language.) My real complaint is that if you have a
switch
in a loop, there are times when acase
wants tobreak
the loop, but can't (even though it cancontinue
the loop!). There should be some other keyword forswitch
es;break
(andcontinue
) should be reserved for loops. -
Yep, they enforced break because otherwise the code is hard to read, and then they encouraged goto. Brilliant.
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Must be the left over VB influence...
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Techno Silliness
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
what about:
switch (something) { case A: case B: case C: DoSomething(); break; case D: case E: case F: DoSomethingElse(); break; .... }
Todd Smith
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
I have used fall throughs, though I've long felt the proper implementation would be that a new case statement implies break and to fall through you write
fallthrough;
. (I've also wanted the equivalent of "reswitch"--that is; go back and reevaluate the expression again.)Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
PC-Lint will catch missing break statements, and a lot of other common coding oversights.
-
I've probably coded a fall-through like that maybe twice in my life. Not counting those times where I goofed and forgot the
break
. ;) (That shows what I think is a design mistake in C - the default behavior should be no fall-through betweencase
s, since that's what programmers will want the vast majority of the time. Oh well.) I was just looking up the C# spec and C# requiresbreak
statements even though the behavior is no fall-through. Bwa? :confused:--Mike-- Visual C++ MVP :cool: LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ Ford, what's this fish doing in my ear?
Not only that but a fall-though is still supported but requires the use of the
goto
statement. I would have preferred an explicit “fall-through” keyword.Steve
-
I have used fall throughs, though I've long felt the proper implementation would be that a new case statement implies break and to fall through you write
fallthrough;
. (I've also wanted the equivalent of "reswitch"--that is; go back and reevaluate the expression again.)Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
PC-Lint will catch missing break statements, and a lot of other common coding oversights.
-
what about:
switch (something) { case A: case B: case C: DoSomething(); break; case D: case E: case F: DoSomethingElse(); break; .... }
Todd Smith
You mean, if it's case "A", it should perform A,B & C. if it's case "C", it directly comes to "C". Got it. I get the picture now!. :jig: thanks :beer:. It has it's use but as joe said above , it will really nice if we have something called
fallthrough
to explicitly mean it.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
-
I have used fall throughs, though I've long felt the proper implementation would be that a new case statement implies break and to fall through you write
fallthrough;
. (I've also wanted the equivalent of "reswitch"--that is; go back and reevaluate the expression again.)Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
VuNic wrote:
Do you think the "break;" [C++] command is really needed at the end of every case statement?
No. I think the default behavior is wrong here.
VuNic wrote:
I've never been in a situation where I'd want the control to pass on to the next case after satisfying a particular case.
I have. [edit]I make sure it's commented prominently.[/edit]
Cheers, Vikram.
"...we are disempowered to cultivate in their communities an inclination to assimilate to our culture." - Stan Shannon.
-
Yep, they enforced break because otherwise the code is hard to read, and then they encouraged goto. Brilliant.
Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Christian Graus wrote:
Yep, they enforced break because otherwise the code is hard to read, and then they encouraged goto. Brilliant.
:laugh:
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"
-
Do you think the "
break;
" [C++] command is really needed at the end of everycase
statement? I've never been in a situation where I'd want the control to pass on to the nextcase
after satisfying a particular case. You know I missed to put a "break;" and it resulted in a big chaos :doh:.
Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"