C++17 In Detail

02 August 2019

C++ Links #31 - bugs in Bullet Engine and C++20

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.

  1. 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.html

  2. Barry 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/

  3. 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-breaks

  4. We 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/

  5. 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/

  6. 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=mXxNvaEdNHI

  7. Didn’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/

  8. 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/

  9. 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/

  10. 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:

  1. 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.

Get my free ebook about C++17!

More than 50 pages about the new Language Standard.

C++17 in detail, by Bartlomiej Filipek

C++17 In Detail
© 2017, Bartlomiej Filipek, Blogger platform
Disclaimer: Any opinions expressed herein are in no way representative of those of my employers. All data and information provided on this site is for informational purposes only. I try to write complete and accurate articles, but the web-site will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.