I would like to start, but wodnering where you guys seem to have gone
Newb ... to ... Pro
Well, where did you start? - (Tutorial from Net? - Add please)
How long have you been programming? - ( Just started, Few Weeks, Few months, Year, Years)
What C++ software are you using? - (Bloodshed,Microsoft,Turbo,Dev..etc) - What do you recommend?
Other: Add any useful information that could help me and other noobs.
I guess i'm a "Pro" since I am a Software Engineer/Architect for a living after all so I'll amuse you and write down my 'journey' in software development and some personal views (sorry for the long response.. I know you kids nowadays bore easily haha):
Started over 20 years ago (yeah that's not a typo....) in BASIC (no, not the 'visual' kind

) on the Commodore 64 using Books.
Then couple years later moved on to the Amiga computers, and did Basic, Pascal, 68000 Assembly and C (Only Books again - hey back then that was basically all that was available

)
Then Moved to PC and kept going with C/C++ (and 80x86 asm), again sticking with books, and at this point already 'teaching' some of my teachers in school (just having a good textbook was enough for me

) Also did a variety of other languages (vb, php,java etc) over the years but won't bore you with those.
So as far as 'where' did I learn it, it was mainly books (internet was still 'tiny' back then

) and nowadays since i'm spending most of my time developing windows applications I can find 99% of what I need on msdn.microsof*****m.
I know this can be overwhelming for some people but once you do it long enough you'll develop a 'feel' for where to look etc. Sometimes places like codeguru or codeproject can be helpful if you're looking for a complete solution and too lazy (or in the real world: not enough time/buget) to write it yourself. Those are not usually 'basic tutorial' articles for the most part, but more of a 'this is how this or that concept is applied' samples people share.
If you look at my 'dev path' as far as environments go (related to C/C++) in order it'd be something like:
Lattice C, Borland C++ 3.1, Borland C++ 4.5, Visual C++ 1.52, Visual C++ 4, Visual C++ 5 (Visual Studio 97),VS6,Borland C++ Builder , VS.NET 2003, VS.NET 2005, VS.NET 2008
There's a few others here and there like obvioulsy GCC on Unix, FreeScale CodeWarrior or IAR embedded workbench for some embedded projects and some other stuff that's not really relevant
I spend most of my time developing for windows, so any of the Visual Studios would have my vote.
I really prefer books over anything because you can read it and let it all sink in and then try it later without the book to make sure you really understand the material instead of just 'copying & pasting' and thinking "oh sure I get it". Also since back then books didn't come with source cd's etc it would force you to type in all the code yourself which also helps in the learning process vs doing a copy/paste. (then again, i also like deadlisting in assembly vs stepping through it in the debugger.. so maybe I Just like doing things the hard way haha call me crazy) . Of course there's always subjects (real specific hacking for instance) for which there are no books and in that case places like this, and whatever else you find on google is where you'll have to go if you can't figure it out yourself.
The real test (at least to me) is always: Could you write whatever you're trying to learn from scratch, without any reference.. only then have you truly mastered the material. (hence why I always shake my head in disbelief when someone calls themselves a 'pro' or 'leet' programmer after they've copy&pasted 4 projects someone else wrote and can't write "hello world" for themselves...)
Of course it's easy to forget things if you don't frequently use them. I used to at one point be totally in to C++ development on unix (wrote my own search engine even at one point), but if you were to ask me about it today I wouldn't remember a lot without having to refresh quite a bit lol. So you're always (re)learning things - and the fields moves rather quickly so things you learned 2 years ago, may no longer be relevant.
Also of course knowing C++ doesn't say much about any particular application of said knowledge. For Instance: can you write a multi-tier app? can you make database applications? Can you make a UDP or TCP Based application? Know how to do Multi-Threading? Do you know how to communicate directly with hardware? can you make Direct3D applications? etc etc. so even within the C++ plus 'arena' there are hundreds of sub-categories which is what makes programming so fascinating. You're never done learning.
I always found it enjoyable and a learning experience to learn a topic, and then try to write some utility or small application that uses that instead of only doing the samples from the books etc. Or if possible make one huge app that you keep adding on-to (and redesign as necessary). It will force you to really understand how it works when you try to implement things from scratch. Also once you get the basics under your belt then you pick something that you're interested in or figure out an application you'd like to make, and then study up on whatever skills are required to implement that.
In the end though a particular language is just a tool: once you learn to be a 'software engineer' you can pick up whichever language is best suited for the particular job at hand (even if you've never used it before and can't stand it

), and apply common software engineering principles with relative ease to get the job done in a timely fashion.