Hm, it’s complex question to answer. See, I decided to switch from Unity to UE4 partially because of C++ language - I had few years of experience. It also took me a month to learn API fluently. Before I learn C++ from handbooks (I have one great: C++ Symphony - but I don’t know if it is available outside of Poland) and from trying to solve self made problems (I remember when I spend a month trying to implement Conway’s Game of Life on containers. It was great experience, because I had to learn how to think correctly).
My proposition - try to learn C++ from basics, without any fancy self-completing environment like Visual Studio. Linux is absolutely the best for this kind of learning- any text editor has syntax lightening, compiler is accessible from terminal, you have to think not in ‘black box’ types, but in very mechanisms itself. Visual Studio is great with it’s help, but paradoxically it’s best for experienced programmers.
Second advice - basic C++ needs good motivations and problems to solve. Physics and mathematics give infinite amount of those problems - hell, the very beginning of computers happened because of trying to use them in physical computations! In mathematics problems are more subtle, but sometimes easier to implement - the easiest example is a search for prime numbers (for now impossible without computers), Collatz problem, fractals or chaos theory (…ok, the last one is physics too).