Want to be good at programming (C++) and then start learning game development, where should I start?
How do you eat an elephant? One bite at a time.

First, learn how to properly code in C++.  This can be done by reading "The C++ Programming Language 4th edition" by Bjarne Stroustrup (The creator of C++) and coding at the same time; that is, while you read the book.  The key word here is "properly", though.  The following is a very accurate quote about C++: "In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg."  Improper use of the "new" keyword in C++ can lead to big problems. 
This one actually got me, since I had a Java background prior to learning C++.  

Second, learn about game development.  This will involve learning about how to build physics engines and collision detection systems (using spatial data structures).  A little bit of knowledge on vector calculus can go a long way when developing a physics engine.  You will also need to learn computer graphics.  You can buy a book on OpenGL, which is a graphics library that you can use in C++.