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. Other Discussions
  3. The Weird and The Wonderful
  4. The holy comma operator [modified]

The holy comma operator [modified]

Scheduled Pinned Locked Moved The Weird and The Wonderful
c++pythonlearning
14 Posts 13 Posters 0 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.
  • D Offline
    D Offline
    Doc Lobster
    wrote on last edited by
    #1

    happened to me today: (in C++)

    if (condA ||
    condB ||
    condC ||
    condD,
    condE)
    {
    ...
    }

    Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

    S T M F J 5 Replies Last reply
    0
    • D Doc Lobster

      happened to me today: (in C++)

      if (condA ||
      condB ||
      condC ||
      condD,
      condE)
      {
      ...
      }

      Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

      S Offline
      S Offline
      Steve Hansen
      wrote on last edited by
      #2

      So what's the result? In C# it just says that the comma is invalid there.

      J K 2 Replies Last reply
      0
      • S Steve Hansen

        So what's the result? In C# it just says that the comma is invalid there.

        J Offline
        J Offline
        jhwurmbach
        wrote on last edited by
        #3

        "Consider the expression e1 , e2 The type and value of the expression are the type and value of e2; the result of evaluating e1 is discarded." From MSDN[^] Information at you fingertip.

        Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all.
        Douglas Adams, "Dirk Gently's Holistic Detective Agency"

        1 Reply Last reply
        0
        • D Doc Lobster

          happened to me today: (in C++)

          if (condA ||
          condB ||
          condC ||
          condD,
          condE)
          {
          ...
          }

          Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

          T Offline
          T Offline
          Tony Wesley
          wrote on last edited by
          #4

          Unless there are side effects of the other conditions, your example is the equaivant of this:

          if (condE)
          {
          ...
          }

          D 1 Reply Last reply
          0
          • T Tony Wesley

            Unless there are side effects of the other conditions, your example is the equaivant of this:

            if (condE)
            {
            ...
            }

            D Offline
            D Offline
            Doc Lobster
            wrote on last edited by
            #5

            Right. One can probably do awful things using commas given the right modulation of commas and semicolons - even outside variable declarations and for-statements.

            N A 2 Replies Last reply
            0
            • D Doc Lobster

              Right. One can probably do awful things using commas given the right modulation of commas and semicolons - even outside variable declarations and for-statements.

              N Offline
              N Offline
              Nemanja Trifunovic
              wrote on last edited by
              #6

              Doc Lobster wrote:

              One can probably do awful things using commas

              ... such as implementing an assignment library[^] :)


              Programming Blog utf8-cpp

              C M 2 Replies Last reply
              0
              • N Nemanja Trifunovic

                Doc Lobster wrote:

                One can probably do awful things using commas

                ... such as implementing an assignment library[^] :)


                Programming Blog utf8-cpp

                C Offline
                C Offline
                Chris Losinger
                wrote on last edited by
                #7

                or obfuscation!

                image processing toolkits | batch image processing

                1 Reply Last reply
                0
                • D Doc Lobster

                  Right. One can probably do awful things using commas given the right modulation of commas and semicolons - even outside variable declarations and for-statements.

                  A Offline
                  A Offline
                  Anthony Mushrow
                  wrote on last edited by
                  #8

                  So, next time you quit a job because you hate it, don't forget to throw in a few commas here and there ;)

                  My current favourite word is: PIE! I have changed my name to my regular internet alias. But don't let the 'Genius' part fool you, you don't know what 'SK' stands for. -The Undefeated

                  M 1 Reply Last reply
                  0
                  • A Anthony Mushrow

                    So, next time you quit a job because you hate it, don't forget to throw in a few commas here and there ;)

                    My current favourite word is: PIE! I have changed my name to my regular internet alias. But don't let the 'Genius' part fool you, you don't know what 'SK' stands for. -The Undefeated

                    M Offline
                    M Offline
                    Michael Davey 1
                    wrote on last edited by
                    #9

                    hehe.. I like your style :)

                    Michael Davey biproject.com rss and blog news in a more palatable format mobile edition now available!

                    1 Reply Last reply
                    0
                    • N Nemanja Trifunovic

                      Doc Lobster wrote:

                      One can probably do awful things using commas

                      ... such as implementing an assignment library[^] :)


                      Programming Blog utf8-cpp

                      M Offline
                      M Offline
                      Michael Dunn
                      wrote on last edited by
                      #10

                      I :love: how the docs page starts with that quote from Stroustrup.

                      --Mike-- Visual C++ MVP :cool: LINKS~! PimpFish | CP SearchBar v3.0 | C++ Forum FAQ "That's what's great about doing user interface work. No matter what you do, people will say that what you did was idiotic." -- Raymond Chen

                      1 Reply Last reply
                      0
                      • S Steve Hansen

                        So what's the result? In C# it just says that the comma is invalid there.

                        K Offline
                        K Offline
                        Kastellanos Nikos
                        wrote on last edited by
                        #11

                        Steve Hansen wrote:

                        In C# it just says that the comma is invalid there.

                        yah :sigh:

                        1 Reply Last reply
                        0
                        • D Doc Lobster

                          happened to me today: (in C++)

                          if (condA ||
                          condB ||
                          condC ||
                          condD,
                          condE)
                          {
                          ...
                          }

                          Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

                          M Offline
                          M Offline
                          Mehmet Suyuti Dindar
                          wrote on last edited by
                          #12

                          Comma operator generates right operand value so condE for this example.

                          1 Reply Last reply
                          0
                          • D Doc Lobster

                            happened to me today: (in C++)

                            if (condA ||
                            condB ||
                            condC ||
                            condD,
                            condE)
                            {
                            ...
                            }

                            Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

                            F Offline
                            F Offline
                            f2
                            wrote on last edited by
                            #13

                            easiest mistake is not comma is == sign by just =

                            from, -= aLbert =-

                            1 Reply Last reply
                            0
                            • D Doc Lobster

                              happened to me today: (in C++)

                              if (condA ||
                              condB ||
                              condC ||
                              condD,
                              condE)
                              {
                              ...
                              }

                              Of course I wanted to "or" all conditions, but at some point I must have figured to be in a list or something. For anyone not familiar with the comma operator, its worth looking at. I didn't make use of it except e.g. int x=3, y=5; until now (and thats a couple of years). -- modified at 11:52 Monday 26th November, 2007

                              J Offline
                              J Offline
                              jschell
                              wrote on last edited by
                              #14

                              Of course in C++ the comma operator can be overloaded like most others. So one can make things really interesting.

                              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