How do you see the new C++ standard? Is it ok? Great? Meh?
Last week, after a few years of break, I presented my new talk that addressed the above question! It happened at the Cracow C++ Local Group.
Have a look what’s inside this talk.
Intro
Listing all of the features from the new standard might sound simple at first glance. All you have to do is to go through the things alphabetically, mention a few code samples and you’re done :)
For example here’s the picture with such list:
Quite a lot… right? :)
So I came up with a categorization, the same as you could read in my C++17 article series:
- Fixes and deprecation
- Language clarification
- Templates
- Attributes
- Simplification
- Library changes - Filesystem
- Library changes - Parallel STL
- Library changes - Utils
I am not sure if that’s the best order, but at least it groups things together.
The talk
The talk was presented at :
Summary of C++17 features | C++ User Group Krakow (Kraków, Poland) | Meetup
And here are the slides:
Summary
Ok… so what’s the answer to that C++17 awesomeness question?
In my opinion, it’s a very decent standard.
We got a lot of powerful features (like fold expressions, constexpr if
, template argument deduction for class templates, filesystem, parallel STL, …). There’s always a desire to have more, but that couldn’t happen due to the new standardization process. Every three years we’ll get a new version. While C++17 is “smaller” than C++11, it’s shipped faster (3 years) rather than 13 years! So we cannot forget about this.
And another point: how to efficiently learn when the language is changing so fast? :)