I’ve recently started to do some C++ work in Unreal Engine 4, but it seems to be quite different than the C++ I used to mess around with outside of UE4. My question is this, will learning the ins and outs of using C++ with UE4 really even help outside of the engine? Let’s say I were to apply for a job in software development that required a strong knowledge of C++, would my usage of the language in UE4 help me past the basics?
Yes it still counts. One of the strengths and weaknesses of C++ is its flexibility. It allows you to do some cool stuff with it to save time and effort, and you can enforce standards and consistency easier. On the other hand it’s much easier to end up writing code that is illegible to anyone but yourself.
If you were to apply for a job doing C++ programming, you would be expected to be able to understand and extend different flavours of C++, not just the minimalist “C with classes” style. I personally HATE Boost and smart pointers because they (to me) are usually used in a way that makes the code impossible to read properly, but I can’t apply for a job and say “but only if you promise to never make me read or write code using those libraries”.
The fact that you can demonstrate experience working with sophisticated tech like UE4 can only be a positive thing for that reason.
I’ve seen exactly the same! C++ in ue4 is totally different from the C++ I was practising in the past. Therefore I don’t think that learning C++ in UE4 could make you an eligible candidat for software development, but it would enhance your knowledge in C++ in general for sure as you will be playing with pointers, nested classes,etc…
Software development requires daily information upon new ways and techniques, an open mind for researching issues, tracking down bugs and learn almost everything that you can from the C++ libraries.
I’ll have to grab myself a few C++ books. These answers bring up another question: If I were to study general C++, would my knowledge from C++ in general conflict with what I have learned to use in UE4?
It shouldn’t. You need to think of C++ as like a highly extensible version of C. There are the core features that drive the whole thing, and then there are layers of additional functionality such as templates, exception handling, smart pointers, strings etc that are built on top of it. These are optional depending on your requirements and may or may not be present in any source code you read.
It is always best to get to grips with the core elements of C++, but if you were to get a job as a programmer, you will almost certainly end up working with a flavour of C++ that has been extended in some way. A pure C programmer would probably initially struggle with some of the more exotic implementations of C++, so you need to demonstrate you can handle situations where the C++ you’re expected to work with has been heavily extended, not just the vanilla “C with classes”.
Working with UE4 will give you some exposure to that, and it won’t affect your core knowledge, but if you haven’t got the basics mastered then you will struggle later on.
At the end of the day, everybody runs to Stackoverflow.com to have the task done anyways… I wouldn’t worry too much about these concerns and just keep learning for now.
If we had a reputation system I would totally give you reputation for this comment.
Stackoverflow is love.
Stackoverflow is life.
C++ in UE4 is the same C++ and it can do the same thing, UE4 API which includes it’s own core library and UHT makes it look diffrent, but it’s still the same