Proper C++ learning curve

Hi i want to learn c++ for unreal engine can some one provide me proper learning curve from where to start and where to go next till the end,i mean like if i see sample code like C++ first person shooter, i should be able to understand each and every line of c++.Can someone help me with that?Like what should i understand first, from where should i start?
I want to master c++ for unreal engine like i should be able to write code for any project and should be able to edit Engine source code i needed to.No matter how tough it is or how long it is.
I need Expert Advice.
Thank You

Please! I really need help on this!!

Get yourself this book for c++ :
and then watch epic tutorials and read documetation to understand ue4.

I am good in C++.Basically i just need a direction from where to start programming in c++,like in official documentation what should i study first?
check out the documentation.

There is C++ mastery, which is independent of UE4. If you want to get into the C++ code, you should be able to write it like the back of your hand. You should also be very familiar with the commonly used data structures, such as linked lists, hash tables, trees, graphs, etc. If you’re weak in C++, it wouldn’t be a bad idea to spend six months focusing on learning just C++ and the data structures.

For what its worth, I’ve been writing C-style code for 16 years, but have been coding in UE4 for only 1 month. Picking up UE4 code is pretty straight forward. I understand 100% of what every line of code is doing. Learning the UE4 code is mostly just a matter of familiarizing myself with the UE4 API, data types, and this nifty “reflection” system they’ve come up with. One month in, I’m pretty comfortable with the UE4 code, but I’m no expert yet.

If you’re like me, here’s what I’ve done to get comfy with the code:
-Follow the online video tutorial series on creating a C++ game with the power up pickups. Write every line of code you see in the video and make sure it makes sense to you. Keep in mind, the video code is for version 4.4, not 4.6.
-Download the tower defense game and look at the C++ code they use. Use this as a reference for syntax and API familiarization.
-Do not just copy/paste code. Write it out, line by line yourself. The point isn’t to write the code, but to reinforce those weak neural pathways you’re building as you’re learning the engine API. Once you have a super solid understanding of the code, then you can give yourself permission to copy/paste.
-The tutorial code and the sample code are only a launching point for your game. It’ll cover about 5% of what you need, so you need to know how to look up class descriptions and method calls in the API reference located on this site. Its decently documented, but not as well as MSDN.
-If you find yourself stuck on something, figure out what’s causing you blockage: Is it a lack of knowledge in the C++ language or in the UE4 API? Figuring this out will help you hone in your troubleshooting efforts and get you past the block faster. As a last resort, you can always post a message to the forums or answerhub. However, you’re not guaranteed a response, and the response you get won’t necessarily be timely or correct.

^ That’s where I started, and now less than 10 months on I’m going to town on C++ programming, just about to start looking seriously at networking. In terms of mastering C++ for UE4 - Blueprints help a lot to learn the names of the engines functions and where things are located, and ShooterGame is an amazing resource in itself.