C++17 In Detail

01 November 2019

#C++ Links #37 - The case for C++ and Big Four of C++20

Welcome to new C++ Links - most relevant and useful articles, podcasts and videos that happen between 25th October and 1st November 2019.

Today you will find links to articles about refactoring, the story of std::less, what is lazy initialization and why you should learn C++. Let’s start!

  1. On Tuesday Jonathan Bocarra from fluentcpp wrote an article about a little story of std::less<>. C++ doesn’t allow you to pass operators as callable objects, so you can only wrap a comparison into a functor and then pass it. std::less is probably one of the most useful comparator that comes from STL. See how it changed over different C++ revisions.
    fluentcpp.com/2019/10/29/stdless-and-its-modern-evolution/

  2. In the second article for this week on FluentCpp, you can read about converting nested loops with std algorithms. This is a good refactoring story and shows you how to eliminate raw loops and make code more expressive:
    fluentcpp.com/2019/11/01/transforming-deeply-nested-loops-with-stl-algorithms/

  3. Lazy initialization is a concept of deferring or skipping object construction. In a new guest article at bfilipek.com you can read how to implement this handy pattern with old techniques (raw pointers), improved version (with smart pointers) and then use the latest stuff from C++17: std::optional:
    www.bfilipek.com/2019/10/lazyinit.html

  4. Overview of biggest four C++20 features: concepts, ranges, modules & coroutines, from Rainer Grimm:
    modernescpp.com/index.php/thebigfour

  5. New video from Jason Turner - he showed how to setup Eclipse-based environment for C++, Cevelop, with CMake project:
    youtube.com/watch?v=nnfdvE2qNeo

  6. In Friday’s episode of CppCast, you can listen to JeanHeyd Meneide where he talks about Unicode support in C++. Maybe we can finally get Unicode support in C++23?
    cppcast.com/jeanheyd-meneide-unicode/

  7. John Murray, in his article, shows all the positive sides of C++: why you should learn it now, what are the strong points for C++, what is modern C++, tooling and many more:
    itnext.io/the-case-for-c-4122a5b47130

Tools

  1. CppCon 2019: Jim Radigan C++ Sanitizers and Fuzzing for the Windows Platform Using New Compilers
    https://www.youtube.com/watch?v=0EsqxGgYOQU

Extra:

Extra: See Meeting C++ Blog roll from 1st November:
meetingcpp.com/blog/blogroll/items/Meeting-Cpp-Blogroll-205.html

Extra 2: Checkout this C++ book pack!
leanpub.com/b/moderncpppack
Modernize your legacy code, add modern C++17 features and then increase the performance with concurrency and parallelism!

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.

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.