Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Breaks

Breaks

Scheduled Pinned Locked Moved The Lounge
c++question
40 Posts 22 Posters 6 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • realJSOPR realJSOP

    VuNic wrote:

    Do you think the "break;" [C++] command is really needed at the end of every case statement?

    No, it's not needed at the end of every one. There are rare instances where you might want to process code in one case but fall through to the next.

    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.

    Then in your case, you need a break between cases.

    VuNic wrote:

    You know I missed to put a "break;" and it resulted in a big chaos

    Silver lining - you've become a better programmer as a result of the experience.

    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
    -----
    "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

    E Offline
    E Offline
    Eytukan
    wrote on last edited by
    #21

    John Simmons / outlaw programmer wrote:

    you've become a better programmer as a result of the experience.

    :-O:-O Thanks. It's encourging. Now I'm raring to make big mistakes :-O. [My boss::wtf:]


    Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

    realJSOPR 1 Reply Last reply
    0
    • D Daniel Turini

      You can also "goto" an specific case, which is probably what the compiler does after rearranging "case"s for performance.

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #22

      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

      J E 2 Replies Last reply
      0
      • E Eytukan

        Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

        R Offline
        R Offline
        Rage
        wrote on last edited by
        #23

        VuNic wrote:

        where I'd want the control to pass on to the next case after satisfying a particular case

        In my area (micrcontroller) where most of the logic is done using state machine, switch-case are very popular, and we have very often the case that we fall through a case statement to another.

        Company policy : no access to the internet but CP ~RaGE()

        1 Reply Last reply
        0
        • E Eytukan

          John Simmons / outlaw programmer wrote:

          you've become a better programmer as a result of the experience.

          :-O:-O Thanks. It's encourging. Now I'm raring to make big mistakes :-O. [My boss::wtf:]


          Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

          realJSOPR Offline
          realJSOPR Offline
          realJSOP
          wrote on last edited by
          #24

          Waitaminit - I'm not trying to be encouraging. You'll eventually fail at everything you try to do.

          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
          -----
          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

          E 1 Reply Last reply
          0
          • E Eytukan

            Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

            S Offline
            S Offline
            Shog9 0
            wrote on last edited by
            #25

            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. It's one of the very few real uses i have for switch blocks...

            ---- Scripts i’ve known... CPhog 1.8.2 - make CP better. Forum Bookmark 0.2.5 - bookmark forum posts on Pensieve Print forum 0.1.2 - printer-friendly forums Expand all 1.0 - Expand all messages In-place Delete 1.0 - AJAX-style post delete Syntax 0.1 - Syntax highlighting for code blocks in the forums

            1 Reply Last reply
            0
            • realJSOPR realJSOP

              Waitaminit - I'm not trying to be encouraging. You'll eventually fail at everything you try to do.

              "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
              -----
              "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

              E Offline
              E Offline
              Eytukan
              wrote on last edited by
              #26

              John Simmons / outlaw programmer wrote:

              You'll eventually fail at everything you try to do

              Now I'm trying to make mistakes. So thanks for your wishes john. ;P


              Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

              1 Reply Last reply
              0
              • E Eytukan

                Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                P Offline
                P Offline
                PIEBALDconsult
                wrote on last edited by
                #27

                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 a case wants to break the loop, but can't (even though it can continue the loop!). There should be some other keyword for switches; break (and continue) should be reserved for loops.

                1 Reply Last reply
                0
                • C Christian Graus

                  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

                  J Offline
                  J Offline
                  Jim Crafton
                  wrote on last edited by
                  #28

                  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

                  1 Reply Last reply
                  0
                  • E Eytukan

                    Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                    T Offline
                    T Offline
                    Todd Smith
                    wrote on last edited by
                    #29

                    what about:switch (something) { case A: case B: case C: DoSomething(); break; case D: case E: case F: DoSomethingElse(); break; .... }

                    Todd Smith

                    E 1 Reply Last reply
                    0
                    • E Eytukan

                      Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                      M Offline
                      M Offline
                      Member 96
                      wrote on last edited by
                      #30

                      I've used fallthrough many times over the years so yes I'd say it's required.

                      1 Reply Last reply
                      0
                      • E Eytukan

                        Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                        J Offline
                        J Offline
                        Joe Woodbury
                        wrote on last edited by
                        #31

                        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

                        E 2 Replies Last reply
                        0
                        • E Eytukan

                          Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                          H Offline
                          H Offline
                          Hans Dietrich
                          wrote on last edited by
                          #32

                          PC-Lint will catch missing break statements, and a lot of other common coding oversights.

                          E 1 Reply Last reply
                          0
                          • M Michael Dunn

                            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 between cases, 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# requires break 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?

                            S Offline
                            S Offline
                            Stephen Hewitt
                            wrote on last edited by
                            #33

                            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

                            1 Reply Last reply
                            0
                            • J Joe Woodbury

                              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

                              E Offline
                              E Offline
                              Eytukan
                              wrote on last edited by
                              #34

                              Very good idea.


                              Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

                              1 Reply Last reply
                              0
                              • H Hans Dietrich

                                PC-Lint will catch missing break statements, and a lot of other common coding oversights.

                                E Offline
                                E Offline
                                Eytukan
                                wrote on last edited by
                                #35

                                Thanks. It will be really required if we have switch-case blocks that contains 1000s of lines. will suggest that to my boss.


                                Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

                                1 Reply Last reply
                                0
                                • T Todd Smith

                                  what about:switch (something) { case A: case B: case C: DoSomething(); break; case D: case E: case F: DoSomethingElse(); break; .... }

                                  Todd Smith

                                  E Offline
                                  E Offline
                                  Eytukan
                                  wrote on last edited by
                                  #36

                                  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"

                                  1 Reply Last reply
                                  0
                                  • J Joe Woodbury

                                    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

                                    E Offline
                                    E Offline
                                    Eytukan
                                    wrote on last edited by
                                    #37

                                    http://www.codeproject.com/lounge.asp?msg=1879599#xx1879599xx[^]


                                    Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

                                    1 Reply Last reply
                                    0
                                    • V Vikram A Punathambekar

                                      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.

                                      E Offline
                                      E Offline
                                      Eytukan
                                      wrote on last edited by
                                      #38

                                      Someone didn't like you editing your message? :wtf:. Never mind, balanced ;)


                                      Dario: How is "directory" in French? (I mean a file system directory). John Simmons: "zee file holdaire thingie"

                                      1 Reply Last reply
                                      0
                                      • C Christian Graus

                                        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

                                        E Offline
                                        E Offline
                                        Eytukan
                                        wrote on last edited by
                                        #39

                                        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"

                                        1 Reply Last reply
                                        0
                                        • E Eytukan

                                          Do you think the "break;" [C++] command is really needed at the end of every case statement? 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. 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"

                                          S Offline
                                          S Offline
                                          Smith
                                          wrote on last edited by
                                          #40

                                          Wow yet another case with the switch case :-D

                                          :beer:

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups