If you are fond of the relatively newer programming languages like Apple’s Swift, you might be too comfortable calling C++ a bloated programming language. To tackle such questions and improve the support for large-scale software, C++17 is expected to ship later this year.
C++17 has become a major release just like C++98 and C++11. ISO C++ standards member Herb Sutter recently shared his report from the standards meeting and told that C++17 is now complete.
The new C++ 17 standards are introducing new features like structured bindings and if initialisers, making this vintage programming language “feature complete”.
Recommended: Learn to Code C++ with Fossbytes Academy
The C++ community is calling C++17 the start of a new era that will bring powerful technical specifications. The non-C++17 features will be released later as add-ons in future releases.
Here’s the list of the most notable features coming to C++:
- C++17 is based on C11
- Dynamic memory allocation for over-aligned data
- Guaranteed copy elision
- Forward process guarantees (FPG)
- Structured bindings
- if (init; condition) and switch (init; condition)
- constexpr if
- Inline variables
- A weaker version of fixed order-of-evaluation for expressions
- Template argument deduction for class templates
- Addition of std::byte type
You can head over to GitHub and get the full details of the new changes coming with C++17.
I know it’s possible that many people were expecting more. But, to me, this feature list that consists of parallel algorithm libraries and fold expressions looks very impressive.
Overall, C++17 is a major update that consists of tons of smaller features that are expected to help make this language more readable.
Did you find this article helpful? Don’t forget to drop your feedback.