Table of Contents

The last post in the series about C++17 (STL utils) was posted on 4th September. It happened to be just two days before the final C++17 spec was approved! :)

C++17 is formally approved
2017-09-06 by Herb Sutter
herbsutter.com/2017/09/06/c17-is-formally-approved/

In this post, I’d like to make a little summary, and I also have a bonus for you :)

The Series  

We ended up with 8 articles:

  1. Fixes and deprecation
  2. Language clarification
  3. Templates
  4. Attributes
  5. Simplification
  6. Library changes - Filesystem
  7. Library changes - Parallel STL
  8. Library changes - Utils

And today is the Wrap-up, Bonus.

About C++17  

Do you like the new standard?

Probably we expected a bit more. Still, it’s a really decent update! The committee made a change when comes to the “shipping” process. Rather than waiting for all the great features to be completed (as it happened with C++11) they now set a deadline. If a feature is not done for a specific schedule, then it will just move to the new spec - so in next 3 years.

I am convinced the features we get with the release make a real change of how we write cpp code. So now we have to learn how to use the new stuff effectively.

What I like the most:

  • constexpr if - very powerful tool, allows you to write template/metaprogramming code in a similar way to the ‘standard’ code.
  • Structured bindings - moves C++ closer to dynamic languages
  • Template argument deduction for class templates and other template features
  • Filesystem - a significant portion of the library, that will make code much easier and common across many platforms.
  • Type safe helpers: std::any, std::optional, std::variant - we can now replace void* or C style unions. The code should be safer.
  • String features: like string_view, string conversions, searchers.
  • Parallelism - very powerful abstraction for threading.

Thoughts on the series  

First of all thanks for reading my content! The whole series got very popular, as each post got around 15..20k views in the first weeks. Some even more (like Code Simplification got 50k views! or fixes and deprecation 28k views!).

For me, it was not only a great chance to learn about the standard, but I’m also more convinced that I like writing such content. Reading the spec, gathering new info, writing examples… great fun! :)

Ok… but I know you’re waiting for the bonus… so here it is :)

Bonus  

As I mentioned in my newsletter, I could spend some time and merge all of the posts into one ebook.

And this is what I did :)

The ebook is mostly the merge, but with some little updates, reorganization. The format will make it much easier to read than browsing through the posts.

I ended with more than 50 pages!

Hmm… maybe I should sell it for 1000$ and get rich quickly? :)

OK, maybe 1k $ would be too much. So I decided just to make one requirement to have this ebook: just subscribe to my mailing list, the book then comes for free. (existing subscribers got an email with the link to download, so no action needed for them).

Signup here and get the book

Let me know if you find typos, mistakes in the text. I am happy to update the text, and I’ll send an update.