Hi, here is the link to one of the best advices: http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx
(Not sure how much programming knowledge you have...assuming you have no knowledge)
Start by making basic text based applications. That way, its easier to understand concepts and new ideas. Initially programming can be quite frustrating. By just focusing on the language the (already) large learning curve of C++ would be reduced a bit. Try to create small programs/samples with each new lesson learned. This way you can test your new knowledge and see what works/or not and why.
When you feel ready you can go with basic 2D games like pong, breakout using something like SDL/SFML. There will be alot of new concepts to learn such as the gameloop, collision detection, adding music, and networking. SDL or SFML make things easier, allowing the user to concentrate on the game development.
Next step then could be to use more low level to Direct3D/OpenGL for graphics and using 3D. (Assuming you are aiming for that).
During that time, try Blender (free) or 3D studio max. There are alot of resources online how to use them. The information that you learn about 3D modelling and animation can always come in use. Plus its a good break from programming hehe.
One of the main problems with programming is that it can be quite frustrating initially and many things dont initially make much sense until you get used to how the language works. Thats particularly true when using C++ (imho). Stick to it and get through that barrier.
There is a reason why most people here recommend Python or C# for first language.
Edit: Something to keep in mind. There is a new standart for C++: C++11. It makes using C++ a bit easier.