Download

UE4 and C++

Created this thread as Tim suggested. https://forums.unrealengine.com/showthread.php?77332-UE4-and-Visual-Studio-2015&p=369323&viewfull=1#post369323

It is always good to learn something new about PLs from big projects with a good architecture. Books provide some theoretical background with small examples, but the real projects give knowledge about practical aspects: good or bad features, coding styles and policies, global architecture solutions. UE4 is one of great places to learn all of it. It has its specifics. It tries to move forward with the decades-proven code (C++98/03). It tries to move forward to new standards (C++11 and probably later). Of course there are also modern, just borned C++11, C++14 only libraries to learn (e.g. some new boost and boost incubator libraries). They are young, sometimes small, sometimes full of templates.

See the original message with some changes below.


Hey Unreal Team,

Just interesting.
What is your C++ policy?
What do you think about new c++11/14 standards?
What do you think about retaining c++98/03 support in the codebase?
I’m asking this because unlike other compilers microsoft forces people to use the latest VS (2015) and compiler (VC++14, or v.19). They do not provide --std options like gcc, clang (don’t know about intel compiler and some others).
So, VS2015 bring a good level of c++14 support and it will become more and more with Update(s) 1, …
GCC (5+) and clang (3.4+) already support full c++14.
I understand and agree that establishing c++11/14 coding policies, rules, the best practices requires some time. Developers should learn the new features.
Will you drop VS2012, VS2013 support? Or maybe you’ll support latest and previous VS versions: VS2012+2013 becomes VS2013+2015. (Not sure here if there’s still VS2012 support. Only see it in some places in code and scripts.)

And a few questions about the next C++17 standard. Again because MS implements some accepted drafts into VS2015.
What is your feeling about it? (I’m almost sure you are interested in some reflection changes that allow to drop a lot of macros.)
Do you take a part in developing of the new standards? Maybe in the new SG14 Games and low latency?

What do you think about modern templates? constexpr?

p.s. If we’ll get good answers, we can rewrite this into F.A.Q. format.

regards,
lz