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. I miss my pointers [modified]

I miss my pointers [modified]

Scheduled Pinned Locked Moved The Lounge
csharpc++comdata-structuresarchitecture
20 Posts 17 Posters 2 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 DaveX86

    I never liked pointers...I have a mental block about them...every time I see a '*' or an '&' before something I break out in a cold sweat. It was a piece of mercy that the C# team put them behind the curtain where they belong :sigh: :)

    P Offline
    P Offline
    Perspx
    wrote on last edited by
    #8

    I think they're useful at times, but pointer arithmetic can become a bit of a drag. But as you say it was cleary a benefit for C# to do away with them, except for in certain circumstances. Regards, --Persxp

    "A refund for defective software might be nice, except it would bankrupt the entire software industry in the first year."
    -Andrew Tanenbaum
    "Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer."
    -Fred Brooks

    1 Reply Last reply
    0
    • C Chris Maunder

      I'm doing one of those classic "scan an array, find an element, and return the elements from that element on" things and suddenly hit a roadblock: how do a &(array[i]) in C#? :sigh: [Edit: OK, so next time I clearly need to add a joke icon. No, I'm not asking for help. Just reminiscing. :sigh:2]

      cheers, Chris Maunder

      CodeProject.com : C++ MVP

      modified on Saturday, November 15, 2008 4:36 PM

      M Offline
      M Offline
      Member 4194593
      wrote on last edited by
      #9

      My dad's favorite expression was "Give me my horse". All depends on the generation.

      1 Reply Last reply
      0
      • C Chris Maunder

        I'm doing one of those classic "scan an array, find an element, and return the elements from that element on" things and suddenly hit a roadblock: how do a &(array[i]) in C#? :sigh: [Edit: OK, so next time I clearly need to add a joke icon. No, I'm not asking for help. Just reminiscing. :sigh:2]

        cheers, Chris Maunder

        CodeProject.com : C++ MVP

        modified on Saturday, November 15, 2008 4:36 PM

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

        you have to wait for C# v5.0

        image processing toolkits | batch image processing

        J 1 Reply Last reply
        0
        • C Chris Maunder

          I'm doing one of those classic "scan an array, find an element, and return the elements from that element on" things and suddenly hit a roadblock: how do a &(array[i]) in C#? :sigh: [Edit: OK, so next time I clearly need to add a joke icon. No, I'm not asking for help. Just reminiscing. :sigh:2]

          cheers, Chris Maunder

          CodeProject.com : C++ MVP

          modified on Saturday, November 15, 2008 4:36 PM

          L Offline
          L Offline
          Lutoslaw
          wrote on last edited by
          #11

          LINQ simulates it somehow. You can call a Skip(i) method and it will return an IEnumerable which starts at the specified index.

          Greetings - Gajatko Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.

          E 1 Reply Last reply
          0
          • C Chris Losinger

            you have to wait for C# v5.0

            image processing toolkits | batch image processing

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

            Is that the new C++ 98 release?

            ¡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! VCF Blog

            E 1 Reply Last reply
            0
            • J Jim Crafton

              Is that the new C++ 98 release?

              ¡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! VCF Blog

              E Offline
              E Offline
              El Corazon
              wrote on last edited by
              #13

              Jim Crafton wrote:

              Is that the new C++ 98 release?

              It's okay, they've a plan to have all of C++2009 in place in C# by 2025. So they will eventually catch up. ;) (just don't plot the future graph of that)

              _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

              1 Reply Last reply
              0
              • C Chris Maunder

                I'm doing one of those classic "scan an array, find an element, and return the elements from that element on" things and suddenly hit a roadblock: how do a &(array[i]) in C#? :sigh: [Edit: OK, so next time I clearly need to add a joke icon. No, I'm not asking for help. Just reminiscing. :sigh:2]

                cheers, Chris Maunder

                CodeProject.com : C++ MVP

                modified on Saturday, November 15, 2008 4:36 PM

                M Offline
                M Offline
                Mladen Jankovic
                wrote on last edited by
                #14

                Obviously you missed this one: Please do not post programming questions here. If you have a programming question then click here[^]!. ;)

                [Genetic Algorithm Library]

                1 Reply Last reply
                0
                • L Lutoslaw

                  LINQ simulates it somehow. You can call a Skip(i) method and it will return an IEnumerable which starts at the specified index.

                  Greetings - Gajatko Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.

                  E Offline
                  E Offline
                  elektrowolf
                  wrote on last edited by
                  #15

                  A SkipIterator (internal, System.Core.dll) is created.. You can look at it in Reflector.

                  L 1 Reply Last reply
                  0
                  • U User of Users Group

                    This is more of a result of bad design on the part of C# team, range concepts, decent iterators, and reverse 'enumeration' are the most glaring and obvious, put mildly, screw-ups while they were copying Java. You have to resort to all sort of things such as copying, messy yield compiler generation, and it still ends up insufficient. You can always do the pointer arithmetic as part of class (as that's all you get:-) : You can mark the variable or method 'unsafe'and then use 'fixed', you can go further but it is usually best practice not to let it leak out beyond a type, modern C++ libraries do that pretty good. unsafe fixed int _d[SOME_DOLLARS]; unsafe public double this[int index] get { fixed (int* d = _d ) return d[index]; } Before someone screams, as they probably missed the fact that there is plenty of it done in all or any decent scientific and engineering .NET commercial libraries known to man, including the oldest and best graphics library for CLR too. The disclaimer: Comparing perf between this, for, or foreach, or LINQ won't tell you the entire story as it will vary dramatically for 'non-classics', ie. specific scenario.. And jitted IL pointer code can surprise overall, but if you ask C# people: "It (re:everything) is not a CSharp idiom". I wonder what is, just the language name? Ah.. Still doesn't solve your problem as you want a pair, with a second as end iterator really.

                    P Offline
                    P Offline
                    Pete OHanlon
                    wrote on last edited by
                    #16

                    I'm not sure it is missing the point. While I agree that C# isn't terribly efficient with regards to pointers (read not efficient there at all) it does have it's uses. To get LOB apps out the door in double quick time, .NET is very hard to beat. Before you get all bent out of shape, you should remember that my background is C/C++, so there's a load of features I'd love to see make the crossover, the simple fact is they are targetting two different types of applications. Bottom line - .NET is quicker to code, but C++ code is quicker to run.

                    Deja View - the feeling that you've seen this post before.

                    My blog | My articles | MoXAML PowerToys

                    1 Reply Last reply
                    0
                    • E elektrowolf

                      A SkipIterator (internal, System.Core.dll) is created.. You can look at it in Reflector.

                      L Offline
                      L Offline
                      Lutoslaw
                      wrote on last edited by
                      #17

                      elektrowolf wrote:

                      A SkipIterator (internal, System.Core.dll) is created.. You can look at it in Reflector.

                      Oh really? I was so sure that it creates a PointerIterator. What a suprise! :laugh:

                      Greetings - Gajatko Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.

                      1 Reply Last reply
                      0
                      • C Chris Maunder

                        I'm doing one of those classic "scan an array, find an element, and return the elements from that element on" things and suddenly hit a roadblock: how do a &(array[i]) in C#? :sigh: [Edit: OK, so next time I clearly need to add a joke icon. No, I'm not asking for help. Just reminiscing. :sigh:2]

                        cheers, Chris Maunder

                        CodeProject.com : C++ MVP

                        modified on Saturday, November 15, 2008 4:36 PM

                        R Offline
                        R Offline
                        Roger Wright
                        wrote on last edited by
                        #18

                        There's a 12-step program to help people who miss their pointers. I'd give you a contact, but I've misplaced the address and can't remember where I stored it. I'll get back to you when I run across a reference to it.

                        "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                        modified on Sunday, November 16, 2008 12:50 AM

                        C G 2 Replies Last reply
                        0
                        • R Roger Wright

                          There's a 12-step program to help people who miss their pointers. I'd give you a contact, but I've misplaced the address and can't remember where I stored it. I'll get back to you when I run across a reference to it.

                          "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                          modified on Sunday, November 16, 2008 12:50 AM

                          C Offline
                          C Offline
                          Chris Maunder
                          wrote on last edited by
                          #19

                          Roger Wright wrote:

                          I'll get back to you when I run across a reference to it

                          Oh that's bad. That's really bad.

                          cheers, Chris Maunder

                          CodeProject.com : C++ MVP

                          1 Reply Last reply
                          0
                          • R Roger Wright

                            There's a 12-step program to help people who miss their pointers. I'd give you a contact, but I've misplaced the address and can't remember where I stored it. I'll get back to you when I run across a reference to it.

                            "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                            modified on Sunday, November 16, 2008 12:50 AM

                            G Offline
                            G Offline
                            Gary R Wheeler
                            wrote on last edited by
                            #20

                            I do believe our English members would use the phrase "cheeky bastard" here. :laugh:

                            Software Zen: delete this;
                            Fold With Us![^]

                            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