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. Moving from C# to C++

Moving from C# to C++

Scheduled Pinned Locked Moved The Lounge
csharpc++questionlearning
108 Posts 36 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.
  • C c2423

    I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

    T Offline
    T Offline
    TpB
    wrote on last edited by
    #51

    C++ From The Ground Up (Third Addition) by Herbert Schildt, Osborne Publications If you are developing for Windows, read up on MFC until you get board and then study with Win32 and Win64 API's. There are several API Bibles available - all read about he same.

    K C 2 Replies Last reply
    0
    • C c2423

      I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

      D Offline
      D Offline
      dboone
      wrote on last edited by
      #52

      "C++ FAQ" by Cline, Lomow, and Girou, second edition. Herb Sutter's books, "Exceptional C++", "More Exceptional C++", and "C++ Coding Standards" The "C++ FAQ" is excellent about explaining why things work the way they do in C++ so you'll get the subtle differences. "C++ Coding Style" is also excellent in the 'Do it this way because that way is going to hurt.' The Exceptional * books are more advanced, deeper dives into specific features.

      K C 2 Replies Last reply
      0
      • C c2423

        I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

        J Offline
        J Offline
        James Lonero
        wrote on last edited by
        #53

        I have found that companies doing 3D modeling, like CAD, use C++. But, beware of pointers. They can bite you badly. Under C#, they are managed for you. Under C++, you need to manage them. Learn about smart pointers. The BOOST C++ Libraries have really good smart pointers and make using pointers much like using C# references. (Go to: www.boost.org for more information.)

        P C 2 Replies Last reply
        0
        • C c2423

          I live south of London, inside the M25. Don't get me wrong, I still do OK without the C++ it's just that it seems it would give me the edge over people when it comes to it. Recently I did 7 (yes, seven) rounds of interviews for a position for a C# position, and I eventually didn't get it coz I couldn't answer their C++ pointer questions.

          N Offline
          N Offline
          Nickolay Karnaukhov
          wrote on last edited by
          #54

          Ahh... These crappy pointers :-( This is a real barrier between managed/interpreted languages and real ones. I'm double technology guy with strong PHP and .NET knowledge but when I tried to fix some issues with C module for Apache I stuck on these stars and ampersands. C/C++ is awesome languages - but you need to feel a taste of it. As soon as you feel it - everything will go smooth.

          ------------------------------------------------------------ Want to be happy - do what you like!

          D 1 Reply Last reply
          0
          • P Pete OHanlon

            That kind of depends - a lot of VB programmers won't understand you (and one heckuva lot of PHP developers either).

            "WPF has many lovers. It's a veritable porn star!" - Josh Smith

            As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.

            My blog | My articles | MoXAML PowerToys | Onyx

            N Offline
            N Offline
            Nickolay Karnaukhov
            wrote on last edited by
            #55

            Hah... what about combination of PHP+VBScript+VB.NET+C#.NET? Is there a real occurrences that some people just know VB.NET? Honestly it suck because if someone stuck with one and only language - his carrier will die along with this language. In my case I have knowledge of PHP,JavaScript,VBScript,VB.NET,C# along with Pascal and Delphi and in addition I'm learning (or try to refresh my memory) C, C++, Objective-C. MFC, QT, GTK and other frameworks are also in my scope. However - knowing C++ isn't just only a way of getting new job - it will make your skills twice wider as you'll be able to program for all kind of Linuxes including Android e.t.c. My only recomendation - don't stuck with one technology, one language and one framework (as many I suppose do). Books - are only books. Books are just reference and "swap storage". Most important is to start real project, join any opensource for example, and get all that experience. BTW - MSDN is quite good resource for Win32 :-)

            ------------------------------------------------------------ Want to be happy - do what you like!

            K 1 Reply Last reply
            0
            • J James Lonero

              I have found that companies doing 3D modeling, like CAD, use C++. But, beware of pointers. They can bite you badly. Under C#, they are managed for you. Under C++, you need to manage them. Learn about smart pointers. The BOOST C++ Libraries have really good smart pointers and make using pointers much like using C# references. (Go to: www.boost.org for more information.)

              P Offline
              P Offline
              pg az
              wrote on last edited by
              #56

              James Lonero wrote:

              But, beware of pointers. They can bite you badly. Under C#, they are managed for you. Under C++, you need to manage them.

              Not only pointers, but memory alignment and concurrency is more "managed for you" under C# than C++. With multicore being the norm for today's system, I would recommend in-general Duffy's book "Concurrent Programming on Windows". You should immediately skip to Chapter 10 "Memory Models and Lock Freedom", to get that chilly feeling "Why I never even SUSPECTED that stuff could go wrong like that...". If you're doing server-stuff which may need to run on Itanium then Chapter 10 may scare you right back to C#. After Ch 10 I can't imagine that any of MY C++ has a chance of running on Itanium. Then back to the beginning, it's worth your while to read every page in detail. The "most helpful" Amazon reviewer just-doesn't-get-it, IMHO. The "mish-mash of random odds and ends" he complains about, to my perspective, are things which like Duffy often says "will come in handy" and I personally had never noticed and in a couple of cases was thrilled to know about -- yes they WERE there in the MSDN, but while it's feasible to read this book from cover-to-cover for Duffy's "come-in-handies", who's going to read MSDN cover-to-cover ?

              pg--az

              1 Reply Last reply
              0
              • C c2423

                I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

                L Offline
                L Offline
                laniakea development
                wrote on last edited by
                #57

                Hi, man! I wish to recommend You the Bruce Eckel's C++ books; you can download them free, and as I know, there was the whole standard C++ language described. The right studio supporting it is VS2005 or 2008; in Visual Studio 6, there is no full support for C++ language, for example, You can't use multiple templates as parameters in templates. So, try with Bruce Eckel's C++. You can find Eckel's site using google or like. Btw, I'm somehow impressed with Your expression that it seems C++ is more wanted by employeers than C#. Although personally I preffer C++ programming, I thought that C# was most wanted. OK, this is a nice news for me! Best regards!

                N C D 3 Replies Last reply
                0
                • L laniakea development

                  Hi, man! I wish to recommend You the Bruce Eckel's C++ books; you can download them free, and as I know, there was the whole standard C++ language described. The right studio supporting it is VS2005 or 2008; in Visual Studio 6, there is no full support for C++ language, for example, You can't use multiple templates as parameters in templates. So, try with Bruce Eckel's C++. You can find Eckel's site using google or like. Btw, I'm somehow impressed with Your expression that it seems C++ is more wanted by employeers than C#. Although personally I preffer C++ programming, I thought that C# was most wanted. OK, this is a nice news for me! Best regards!

                  N Offline
                  N Offline
                  Nickolay Karnaukhov
                  wrote on last edited by
                  #58

                  Don't forget - C/C++ is a root of all other languages tree. C/C++ will never die! That's why I also learning C/C++ as it will gave me more flexibility. C/C++ is native language for all OSes. But .NET is just a framework with too much buzz around it. It is just better marketed as Java which is actually prototype for .NET. Microsoft follow its own tradition to stole ideas, starting from PC/MS-DOS stolen from CP/M ending with Silverlight stolen from Flash.

                  ------------------------------------------------------------ Want to be happy - do what you like!

                  1 Reply Last reply
                  0
                  • C c2423

                    I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

                    J Offline
                    J Offline
                    Jason J Chase
                    wrote on last edited by
                    #59

                    In addition to others mentioned I also found the Wrox book Professional C++ and C++ Coding Standards by Herb Stutter and Andrei Alexandrescu helpful. If you want to apply to Windows, you can't go past Jeff Richter's Programming Windows via C/C++.

                    C 1 Reply Last reply
                    0
                    • C c2423

                      I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

                      D Offline
                      D Offline
                      dazfuller
                      wrote on last edited by
                      #60

                      I'd strongly recommend the Learn C++[^] site, it does cover the basics but you can skip ahead to more interesting stuff. I found myself in the same position as you a few months back and this is how I got going. I'd also recommend at least skimming over the basics again as your likely to pick up subtle differences between the two languages and possibly remind yourself of things you may have forgotten. Book wise, I've got a copy of the C++ Pocket Reference Guide by O'Reilly (ISBN: 978-0-596-00496-5) which is great as a quick reference, I also picked up a second hand copy of Stroustrup's "The C++ Programming Language" which I don't use as much but is useful if your not sure why something is happening in a particular way. Once you get into it it's fairly good fun, some things will annoy you and you'll be longing for a C# project but then some things are actually easier in C++ (such as manipulating byte arrays).

                      C 1 Reply Last reply
                      0
                      • C c2423

                        Yeah, I'm trying to get into an industry that is slightly behind (think lots of C++ legacy projects ready to move to C#) and they all want C++ and *cough*Java. This is the second reccomendation for Stroustrup, so looks like I will have to take the plunge... Thanks, Chris

                        K Offline
                        K Offline
                        Kevin McFarlane
                        wrote on last edited by
                        #61

                        c2423 wrote:

                        This is the second reccomendation for Stroustrup

                        It's a book you should have at some point, but I'm not sure it's an appropriate first C++ book. I wouldn't know what a good starting-point is these days though.

                        Kevin

                        C 1 Reply Last reply
                        0
                        • N Nemanja Trifunovic

                          c2423 wrote:

                          I already know C# and I'm trying to learn C++

                          Two rules: 1) Forget everything you know about C# - despite similar syntax it is a *very* different language with different goals. 2) Get a recent book (not the Eckel's one). Stroustrup's Programming -- Principles and Practice Using C++[^] is probably pretty good for a beginner. Another good one is Accelerated C++[^] Good luck.

                          Programming Blog utf8-cpp

                          K Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #62

                          Nemanja Trifunovic wrote:

                          Stroustrup's Programming -- Principles and Practice Using C++

                          I'd forgotten Stroustrup had written this.

                          Kevin

                          1 Reply Last reply
                          0
                          • N Nickolay Karnaukhov

                            Hah... what about combination of PHP+VBScript+VB.NET+C#.NET? Is there a real occurrences that some people just know VB.NET? Honestly it suck because if someone stuck with one and only language - his carrier will die along with this language. In my case I have knowledge of PHP,JavaScript,VBScript,VB.NET,C# along with Pascal and Delphi and in addition I'm learning (or try to refresh my memory) C, C++, Objective-C. MFC, QT, GTK and other frameworks are also in my scope. However - knowing C++ isn't just only a way of getting new job - it will make your skills twice wider as you'll be able to program for all kind of Linuxes including Android e.t.c. My only recomendation - don't stuck with one technology, one language and one framework (as many I suppose do). Books - are only books. Books are just reference and "swap storage". Most important is to start real project, join any opensource for example, and get all that experience. BTW - MSDN is quite good resource for Win32 :-)

                            ------------------------------------------------------------ Want to be happy - do what you like!

                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #63

                            Nickolay Karnaukhov wrote:

                            Books - are only books. Books are just reference and "swap storage". Most important is to start real project, join any opensource for example, and get all that experience.

                            But it's also important, especially with C++, to learn good practice which you will get from the better books.

                            Kevin

                            N 1 Reply Last reply
                            0
                            • D Dave Parker

                              Really? I've been looking for a C++ gig for ages but everywhere seems to me to be after C#, VB.NET, VB6, Delphi, PHP and / or Java. Or even worse, Sharepoint.

                              K Offline
                              K Offline
                              Kevin McFarlane
                              wrote on last edited by
                              #64

                              The problem these days, especially in the Microsoft world is that you'll struggle to find pure C++ roles. It will be C++ and some .NET-based technology. Don't know what it's like in the *nix world though. Maybe C++ + Java + some scripting language?

                              Kevin

                              D 1 Reply Last reply
                              0
                              • T TpB

                                C++ From The Ground Up (Third Addition) by Herbert Schildt, Osborne Publications If you are developing for Windows, read up on MFC until you get board and then study with Win32 and Win64 API's. There are several API Bibles available - all read about he same.

                                K Offline
                                K Offline
                                Kevin McFarlane
                                wrote on last edited by
                                #65

                                Not read Schildt myself but (although popular) he's widely detested by C++ gurus.

                                Kevin

                                C 1 Reply Last reply
                                0
                                • D dboone

                                  "C++ FAQ" by Cline, Lomow, and Girou, second edition. Herb Sutter's books, "Exceptional C++", "More Exceptional C++", and "C++ Coding Standards" The "C++ FAQ" is excellent about explaining why things work the way they do in C++ so you'll get the subtle differences. "C++ Coding Style" is also excellent in the 'Do it this way because that way is going to hurt.' The Exceptional * books are more advanced, deeper dives into specific features.

                                  K Offline
                                  K Offline
                                  Kevin McFarlane
                                  wrote on last edited by
                                  #66

                                  dboone wrote:

                                  "C++ FAQ" by Cline, Lomow, and Girou, second edition.

                                  I'd forgotten about that! I don't own it but used to see it lying around offices and would dip into it. There's also the online C++ FAQ Lite.

                                  Kevin

                                  1 Reply Last reply
                                  0
                                  • C c2423

                                    I already know C# and I'm trying to learn C++ (it seems to be more required by employers.) All the reference material I have on C++ is geared to learning from absolute basics and I get tired of reading about the difference between ++x and x++ etc (I still read it in case there happens to be something subtle that I wouldn't already know.) So can anybody recommend any good resources that are comprehensive, but won't re-cover stuff thats the same in C#? Thanks, Chris

                                    M Offline
                                    M Offline
                                    Melvin Holt
                                    wrote on last edited by
                                    #67

                                    I like "Thinking in C++" by Bruce Eckel. He assumess a reader working from C to C++, so it might be pedantic on OO concepts, but at least it won't spend much time on fundamental C syntax.

                                    C 1 Reply Last reply
                                    0
                                    • A Anna Jayne Metcalfe

                                      It was quite something, that's for sure! :laugh:

                                      Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                      D Offline
                                      D Offline
                                      Drozzy
                                      wrote on last edited by
                                      #68

                                      Youtube link or it didn't happen! X|

                                      A 1 Reply Last reply
                                      0
                                      • D Drozzy

                                        Youtube link or it didn't happen! X|

                                        A Offline
                                        A Offline
                                        Anna Jayne Metcalfe
                                        wrote on last edited by
                                        #69

                                        Yeah, right. We all too busy enjoying the event to muck about with camcorders! Next you'll be telling me that nobody gets Lakosed at the ACCU Conference because no-one is sober enough to record and post it...:doh:

                                        Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                        1 Reply Last reply
                                        0
                                        • A Anna Jayne Metcalfe

                                          If you're beyond the basics of C++ I'd strongly recommend you read Meyers Effective C++[^]. Once you've that under your belt you will be in a far better position to work out what to read next... I'd also recomend that you join the accu-general mailing list[^]. It's free to join (ACCU membership isn't required for that particular list) and you'll get access to some of the best C++ minds on the web (including some of the Standards Committee...). They're a friendly bunch, and always willing to answer questions or indulge in a spot of mentoring. :)

                                          Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                          C Offline
                                          C Offline
                                          CDMTJX
                                          wrote on last edited by
                                          #70

                                          I 2nd the Meyers books. They were required in an Advanced C++ class, and really helped me get past C thinking. I like Lippman for C++ reference, although the title does say "Primer", so it may be more basic than you want.

                                          A 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