Welcome to new C++ Links - most important and useful articles, podcasts and videos that happen between 15th and 21st of September.

Today you will find a link to post about “same but different” objects in C++, a video showing what code compiler generates when you write a lambda, article about why you should always capture exception by const reference and many others.

  1. Post from Arthur O’Dwyer about data race in a case when we catch an exception by non-const reference. The situation shown by Arthur looks rather rare, but as Terry Pratchett wrote - million-to-one chance succeeds nine times out of ten, so it’s good to know this:
    quuxplusone.github.io/blog/2018/09/16/data-race-when-catch-by-nonconst-reference/

  2. Bartłomiej Filipek wrote a review of a really interesting book - Professional C++ 4th Edition by Marc Gregoire. The overall note is 4.5/5 - definitely worth reading. If you are looking for a way to get book free - you will find details in the post.
    bfilipek.com/2018/09/procpp4th.html

  3. Guest post on Jonathan Boccara blog - nice description of how to remove pointer variable from a vector. Not only a unique_ptr, but also for instance owning raw pointer:
    fluentcpp.com/2018/09/18/how-to-remove-pointers-from-a-vector-in-cpp/

  4. New C++ Weekly video from Jason Turner - in this weeks he describes what exactly lambda is and what piece of code is generated by the compiler:
    youtube.com/watch?v=br4tez2G9eM

  5. Post from John Regehr - he describes the difference between pointer and integer. He goes into the zone “where compiler writers need to make decisions that balance optimisation power against developers”:
    blog.regehr.org/archives/1621

  6. Interesting post from Arne Mertz about “same but different” values. He shows examples when to the same values are actually not the same, or values that are different but equal. Sounds weird, but he describes everything clearly in the article:
    arne-mertz.de/2018/09/when-different-values-compare-equal/

  7. A new episode of CppCast, first C++ podcast. This week guest is Bryce Adelstein Lelbach, a software developer on the CUDA driver team at NVIDIA. The discussion is mostly about upcoming CppCon conference:
    cppcast.com/2018/09/bryce-adelstein-lelbach/

  8. Post from Jonathan Boccara - he continues series about removing members from containers. In below article he shows how to remove elements from associative containers, one of the examples uses, for instance, std::stable_partition:
    fluentcpp.com/2018/09/21/remove-elements-associative-container-cpp/

  9. Newest post from Herb Sutter - he describes new paper about profiling lifetime of the objects, a potential solution for dangling pointers and leaks!
    herbsutter.com/2018/09/20/lifetime-profile-v1-0-posted/

What’s your favourite link for this week?
Maybe we missed something relevant?
Let us know in comments.

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.