And the Winners are:
Last week, I launched a quiz. The price was it to win one of the five vouchers for the book “Modern C++ for Absolute Beginners” from Slobodan Dmitrović.
This author has not written his bio yet.
But we are proud to say that Rainer Grimm contributed 702 entries already.
Last week, I launched a quiz. The price was it to win one of the five vouchers for the book “Modern C++ for Absolute Beginners” from Slobodan Dmitrović.
Is it possible to introduce C++ in 300 pages? Yes, it is. The book “Modern C++ for Absolute Beginners” from Slobodan Dmitrović proves it.
Today, I complete my tour through the C++20 core language features with a few small improvements. One interesting of these minor improvements is that most of volatile has been deprecated.
With C++20, we got new and improved attributes such as [[nodiscard(“reason”)]], [[likely]], [[unlikely]], and [[no_unique_address]]. In particular, [[nodiscard(“reason”)]] allows it to express the intention of your interface way clearer.
Do you know that PVS-Studio is integrated into the Compiler Explorer? If not, you should definitely read this guest post from Andrey Karpov including a promo code.
Lambdas in C++20 can be default-constructed and support copy-assignment when they have no state. Lambdas can be used in unevaluated contexts. Additionally, they detect when you implicitly copy the this pointer. This means a significant cause of undefined behavior with lambdas is gone.
Just updated: The C++ Standard Library: What every professional C++ programmer should know about the C++ standard library.
Thanks to C++20, lambdas have become more powerful. From the various lambda improvements, template parameters for lambdas are my favorite ones.
Admittedly, I present in this post a few minor improvements to templates and C++20 in general. Although these improvements may not seem so impressive to you, they make C++20 more consistent and less error-prone when you program generic.
According to the FAQ of isocpp.org is the static initialization order fiasco “a subtle way to crash your program”. The FAQ continues: The static initialization order problem is a very subtle and commonly misunderstood aspect of C++. “. Today, I write about this very subtle and misunderstood aspect of C++.
