I want to learn c++ for creating 3D games with directX or OpenGl.I know a few things in c++, but I don't know so much with pointers / classes etc., so I prefer to start with it from beginning.
So I would like some books for beginners(with practice if it is possible), some books for 2D games and others for 3D and openGl or DirectX.
As for 3D. Im currently studying 3D Programming (using c++ and OPENGL) in University. OpenGL Programming Guide: the Official Guide to learning OpenGL, 8th edition is a decent book. But I learned everything from this tutorial - http://learnopengl.com/ It teaches you all the basics and advanced modern openGL. Making triangles, how to use shaders, transformations, camera, how light works etc etc.
I don't know much about game programming but I'm sure that if you want to do it you have to start from the bottom - that is learn "all" the features of the language like you said - pointers, functions, classes, inheritance, templates, and everything in between. Than you can focus on specific libraries, game engines and books about game development. But that's just my thoughts.
This is a list of books that I'm using in exactly this order to learn C++ and some C
Only after this I'll learn about more specific interests of mine like networking.
1. Programming Principles and Practice Using C++ (comes with exercises)
2. C++ Programming Language (exercises in books website)
3. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
4. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
5. C Programming Language
6. C++ Templates: The Complete Guide
7. Modern C++ Design: Generic Programming and Design Patterns Applied
8. (If I'll have time) Advanced Metaprogramming in Classic C++
and only now I'll focus on some specific stuff like in my case networking.
...
Not saying this is the way to go but I really love my list of books!