I don't think there is such a thing as "learning C++" or any other programming language for that matter.
It takes years to master any language, and I doubt whether you can really do very complicated stuff yet. Who knows! Maybe you can, I just doubt it very much.
Also, sorry to say, I think C++ isn't the best choice.
C# is what my friend who makes games uses. They use Unity for making games:
The graphics part really, really depends! There are ready made tools for basic things, but usually an artist draws every single frame and then an animator connects them and then a programmer implements it. Not the easiest business!
Well obviously I don't know everything, but I know of a lot, like recursions, composition, pointers, etc.
I learned C# as my first computer language but I can't really wrap my mind around Unity as I can't find any tutorials that really explain things and I get lost, the farthest I got was making a Flappy Bird type of game, not to mention there are devices that don't support Unity like the 3DS, but most devices can use C++, it's just that I have no idea what type of tools that I need, I don't know a thing about DirectX or OpenGL which are apparently graphical APIs that use C++.