I don’t know of any good C++ tutorials for UE4. If you already know C++, you can learn the basics of UE4 framework by creating a C++ template project from the engine, such as the side scrolling platformer C++ template, and looking over the source code to see how simple things are done. A fair warning is that some of these templates do things the simplest way, and not according to best practices. I based the code of the project I am working on now off of a C++ platformer template, and I have had to go back to refactor code numerous times since learning of better ways to do things than what was originally in the template. It also helps to create new classes using the new C++ code menu option from within the Unreal Editor, as this will write much of the boilerplate for you, so you don’t have to write it yourself.
Once you’ve learned the basics of the framework, the rest can be learned by reading the documentation of individual classes, and figuring out how those classes fit within the framework. It’s not the easiest way to learn something, but it’s how I’ve been getting along with the engine and I learn new things about the engine almost every day. Any classes for which the documentation might be sparse can be learned in more depth by going to the source files in the engine and seeing more or less how they work. There is a lot of magic written into the UE4 framework, so it isn’t always easy to tell what is going on, but having access to the source code for the engine is a very powerful tool and can be tremendously helpful if you are feeling stuck due to sparse documentation. Admittedly, some things are very difficult to figure out, even with the source code, but by persevering, you should be able to figure out whatever is stumping you. Eventually.
UE4’s C++ framework also tends to change a lot between versions. 4.7 code may not be compatible with 4.8, and vice versa. This is part of the reason any large over arching tutorials are likely to be out of date. It also doesn’t help that the UE4 C++ framework is massive, and incredibly powerful. UE4 C++ is an industrial strength tool, and unlike learning Unity C#, where you need to learn only a subset of mono C# and some libraries for creating/manipulating in game objects (which are referred to as Actors in UE4 if you are coming from Unity), when trying to learn UE4 C++, you have the full power of the C++ language (which is massive) to contend with, in addition to a framework which encompasses not just your game tools, but the toolset which makes up the entire engine, such as the tools which were used to write the editor itself.
Lastly, if you don’t know any C++ you are in for a tough learning experience, unfortunately. C++ is a large, mostly inelegant language. It gets the job done, but not usually in the prettiest way. On top of that, C++ is based off of C, and contains some of the same pitfalls and blemishes that C does, but that can sneak into your code in more insidious ways due to the newer features written into C++ and its very complex syntax. In the words of Bjarne Stroustrup: “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.” This has been somewhat mitigate by recent attempts to modernize the language, such as C++11, and no other language (apart from Common Lisp imo) gives you as much power as C++ does, but this is largely why newer statically typed OOP languages(such as Java, C#, etc.) exist. Because C++ is not easy to learn and can be complicated to operate. Fortunately a lot of the more difficult things to manage (such as cross platform compatibility between binaries, most of memory management, etc.) are taken care of through UE4 C++ framework magic, which even adds new features to the language, such as introspection for UObjects.
Frankly I wish I could give you a more straightforward answer, but this is how I’ve had to learn UE4’s C++ framework, and I think most other people on the AnswerHub would agree that it isn’t always easy. I came to UE4 from a C/C++ background, so if you aren’t familiar with C++ already, I can’t know for sure how difficult it will be for you to pick up UE4’s C++ framework. What I can say is that if what I said above hasn’t scared you off, that with effort and practice, you will most certainly learn the UE4 C++ framework. Prepare for it to be frustrating. But also prepare for it to be a really positive experience. UE4 is an incredibly powerful tool, and I can’t think of another engine which is freely available that exposes this kind of power and functionality to its users. I have tried UE4 and Unity, and thanks to the power that UE4 offers to me as a programmer, I would choose UE4 any day over Unity. If you already know C++ and were just looking for a UE4 based tutorial, I apologize for not being able to provide one. Hopefully this primer can get you started on the right path. If you need a C++ tutorial just for the language, there are plenty of those online, such as the one here. Whatever the case I wish you luck. Keep with it and you will certainly learn. If all of this sounds like too much, you can always try blueprints, which expose some of the functionality that the UE4 C++ framework has and are considerably easier to learn.