I've been writing C and C++ code since the late 80's and in my opinion if you're looking to write actual full blown programs the larger issue is not how long it will take you to learn C++, but how long its going to take you to learn either the Win32 API or MFC... and possibly STL. On the outset these things don't seem that difficult, but invariably you'll want to do something like an owner drawn window or figure that some STL container is perfect for your program and then you're going to discover a whole new world of pain.
In my opinion, the difference between using C++ and C# for a novice programmer is quite often the difference between eventually getting an end-product thats somewhat functional vs. having a project that is perpetually 70% complete. Anyone thats worked on a relatively decent sized project will tell you that the skill is not in doing the first 70%... the skill is getting the last 30% wrapped up. And over the years I've known a lot of pretty good C++ programmers who have shelves full of projects that are "almost done."
The big question I would urge you to ask yourself is "why would I want to use C++?" If the answer is because you think it might help you get a programming job, then you need to go get a degree in Computer Sciences because thats a requirement for almost all good jobs looking to hire a C/C++ programmer. If the answer is to develop trading software for your own personal use, then that means you really want to spend as little time programming as possible and as much time trading as possible.... so I'd use whatever language could help me get the job done the fastest (usually not C++). If the answer is that you want cross-platform compatibility... then I'd use C++ with the Qt library and avoid MFC and STL all together.
As a side note, another very sweet little programming language that is quite often overlooked, but in my opinion is great for beginning programmers, is PowerBASIC. In my experience their compiled code generates native binaries that are just as fast as C (sometimes faster) but without a lot of the complexity that comes with C or C++.
In my opinion, the difference between using C++ and C# for a novice programmer is quite often the difference between eventually getting an end-product thats somewhat functional vs. having a project that is perpetually 70% complete. Anyone thats worked on a relatively decent sized project will tell you that the skill is not in doing the first 70%... the skill is getting the last 30% wrapped up. And over the years I've known a lot of pretty good C++ programmers who have shelves full of projects that are "almost done."
The big question I would urge you to ask yourself is "why would I want to use C++?" If the answer is because you think it might help you get a programming job, then you need to go get a degree in Computer Sciences because thats a requirement for almost all good jobs looking to hire a C/C++ programmer. If the answer is to develop trading software for your own personal use, then that means you really want to spend as little time programming as possible and as much time trading as possible.... so I'd use whatever language could help me get the job done the fastest (usually not C++). If the answer is that you want cross-platform compatibility... then I'd use C++ with the Qt library and avoid MFC and STL all together.
As a side note, another very sweet little programming language that is quite often overlooked, but in my opinion is great for beginning programmers, is PowerBASIC. In my experience their compiled code generates native binaries that are just as fast as C (sometimes faster) but without a lot of the complexity that comes with C or C++.

