Welcome to new C++ Links - most relevant and useful articles, podcasts and videos that happen between 27th July and 2nd August 2019.
Today you will find links to Bugs in Game Engines, articles about C++14 and C++20, debugging move techniques, hot to break RAII and more.
Move semantics is really complicated. Sometimes move is not performed even if we assumed differently. Bartłomiej Filipek on his blog showed how to check if an object was moved, copied or copy elision was performed:
bfilipek.com/2019/07/move-debug.htmlBarry Revzin, on his blog, described spaceship operator. A really long and detailed article, definitely worth reading:
brevzin.github.io/c++/2019/07/28/comparisons-cpp20/Rainer Grimm, in his new article, shows you a nasty way how to break RAII. I hope you won’t find such code in your project, but it’s good to know this trick:
modernescpp.com/index.php/c-core-guidelines-when-raii-breaksWe all know that “inline” doesn’t mean that some part of code will be
copy-pasted
into proper line. The compiler makes such a decision. If you are curious how it works, you must read post on MSVC site:
devblogs.microsoft.com/cppblog/inlining-decisions-in-visual-studio/Guest post on Jonathan Boccara’s Blog, describing how static code analysis can improve working with large legacy C++ codebase
fluentcpp.com/2019/07/30/why-static-analysis-can-improve-a-complex-c-codebase/Didn’t have time to learn C++14? Jason Turner on C++ Weekly talk briefly about most important C++14 features
youtube.com/watch?v=mXxNvaEdNHIDidn’t have time to learn C++20? On hackaday there is a good summary of the upcoming standard:
hackaday.com/2019/07/30/c20-is-feature-complete-heres-what-changes-are-coming/This time the PVS Studio Team analyse source code of Red Dead Redemption’s Bullet Engine. They showed 15 interesting bugs found there:
habr.com/en/company/pvs-studio/blog/461841/Another article from Barry Revzin - he describes how to handle enums with a lambda, to be sure we don’t forget any value inside
switch
/case
:
brevzin.github.io/c++/2019/08/01/enums-default/Rob and Jason are joined by Clare Macrae to discuss Approval Tests and how they can be used to test legacy C++ code quickly.
cppcast.com/2019/08/clare-macrae/
Tools updates:
- Post about last MSVC update - changes introduced on back-end site. A lengthy and impressive list of changes!
devblogs.microsoft.com/cppblog/msvc-backend-updates-in-visual-studio-2019-version-16-2/
The links are brought to you through collaboration with Wojciech Razik.
Wojtek is a Senior C++ developer at Thaumatec, currently writing software for a face & iris recognition device. He enjoys reading C++ Standard before bed, and he loves to hate JS from dawn to dusk.
If you know Polish, take a look at cpp-polska.pl where Wojtek is one of the co-authors.