Welcome to new C++ Links - most important and useful articles, podcasts and videos that happen between 9th and 15th of February 2019.

In this week you will find a link to a great post about a technique that can help reduce compilation time, an article that explains how Smart Iterators are working and many more!

  1. Bartłomiej Filipek shows only 2 lines of code that contains a surprisingly large amount of C++17: “2 lines of code and 3 C++17 features, overload pattern“:
    bfilipek.com/2019/02/2lines3featuresoverload.html

  2. Article from Tristan Brindle about std::initializer_list. He points one of the problems with it - unnecessary object copies. He creates a helper class that counts how many copies/moves are performed and does some research with different techniques of initialisation:
    tristanbrindle.com/posts/beware-copies-initializer-list

  3. Rainer Grimm shows another set of C++ Core Guidelines rules related to templates, e.g. when to name a lambda with std algorithms:
    modernescpp.com/index.php/c-core-guidelines-other-template-rules

  4. A new episode of C++ Weekly - Jason Turner presents how creating unnecessary destructors may produce extra assembly and increase the binary size:
    youtube.com/watch?v=D8eCPl2zit4

  5. Ivan Čukić showed how to use move iterators, in his examples, he uses std::filesystem from C++17:
    cukic.co/2019/02/09/moving-iterators-in-cxx/

  6. Jonathan Boccara wrote a post about Smart Iterators, he explains how they work in a beginner-friendly way & explains what TPOIASI (The Terrible Problem Of Incrementing A Smart Iterator) is:
    fluentcpp.com/2019/02/12/the-terrible-problem-of-incrementing-a-smart-iterator/

  7. Follow up from Jonathan - he describes how Smart Output Iterators can help with TPOIASI:
    fluentcpp.com/2019/02/15/how-smart-output-iterators-fare-with-the-terrible-problem-of-incrementing-a-smart-iterator/

  8. In a guest post at Simplify C++ - Daniele Pallastrelli showed a really interesting technique that can help reduce compile-time with extern templates:
    arne-mertz.de/2019/02/extern-template-reduce-compile-times/

  9. New CppCast episode, interview with Edaqa Mortoray, which created his own programming language called “Leaf”:
    cppcast.com/2019/02/edaqa-mortoray/

  10. Victor Zverovich showed how to format floating numbers. It looks like it’s a really complicated task:
    zverovich.net/2019/02/11/formatting-floating-point-numbers.html

Extra 1: New videos from Meeting C++ are available on their youtube channel (yes, they still uploading new videos almost every day!):
youtube.com/meetingcpp

Extra 2: Meeting C++ team also have great blogroll:
meetingcpp.com/blog/blogroll/items/Meeting-Cpp-Blogroll-178.html

Extra 3: You can start watching talks from Cpp On Sea, a recent c++ conference that happened in February:
youtube.com/cpponsea

Extra 4: The Legacy Code Programmer’s Toolbox is Out - Fluent C++ - see the first book from Jonathan Boccara!
leanpub.com/legacycode

Extra 5. Second edition of great book - C++ Concurrency In Action - is available:
manning.com/books/c-plus-plus-concurrency-in-action-second-edition

The links are brought to you by Wojciech Razik.
Wojtek is a Senior C++ developer at Thaumatec, currently writing software for a robot. 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.