Skip to main content

C++17: Latest Features Coming To 33-Year-Old Programming Language




The C++17 is taken standing and putting new features to the classic programming language. This significant update is designed to create C++ an easier language to work alongside and delivers effective technical requirements.


During the latest criteria meeting in Oulu, Finland, the actual and final features list of C++ is finalised. This means that, C++17 has turned into a major release similar to C++98 and C++11.

The latest C++ 17 standards are launching new features such as structured bindings and if initialisers, creating this classic programming language “feature complete”.

The C++ community is calling C++17 the beginning of a new era designed to take robust technical specifications. The non-C++17 features will likely be revealed later as add-ons in the future releases.



Here’s the list of the highest features that were voted during the meeting:
 

Templates and Generic Code

Lambda

Attributes

Syntax cleanup

Cleaner multi-return and flow control

  • Structured bindings
    • Basically, first-class std::tie with auto
    • Example:
      • const auto [it, inserted] = map.insert( {"foo", bar} );
      • Creates variables it and inserted with deduced type from the pair that map::insert returns.
    • Works with tuple/pair-likes & std::arrays and relatively flat structs
  • if (init; condition) and switch (init; condition)
    • if (const auto [it, inserted] = map.insert( {"foo", bar} ); inserted)
    • Extends the if(decl) to cases where decl isn't convertible-to-bool sensibly
  • Generalizing range-based for loops
    • Appears to be mostly support for sentinals, or end iterators that are not the same type as begin iterators, which helps with null-terminated loops and the like.

Misc

Library additions:

Data types

Invoke stuff

  • std::invoke
    • Call any callable (function pointer, function, member pointer) with one syntax. From the standard INVOKE concept.
  • std::apply
    • Takes a function-like and a tuple, and unpacks the tuple into the call.
  • std::is_callable
  • std::make_from_tuple, std::apply applied to object construction

File System TS v1

Parallelism TS v1

  • The linked paper from 2014, may be out of date
  • Parallel versions of std algorithms, and related machinery

(parts of) Library Fundamentals TS v1 not covered above or below

Container Improvements

Other std datatype improvements:

Misc



Isocpp.org has an even more detailed list of documents, a few of which I looted for on top. Now it is not up-to-date exactly what is approved into C++17.
these slides had some features missing elsewhere.


Despite "what was eliminated" wasn't questioned, this is a short list of a few things ((mainly?) earlier deprecated) being removed in C++17 from C++:

Removed:



Spec changes:



You can check out Reddit to obtain the detailed information of the new modifications arriving with C++17.


In conclusion, C++17 is actually a major update that includes plenty of smaller features which are likely to help make this language a lot more understandable.

Comment below.

Comments

Post a Comment

Popular posts from this blog

Free Unity Game Assets -The 54 Best Websites To Download

When it comes to  Free Unity Assets,  Every indie game developer loves to hear about Websites To Download Game Assets like 3d models, Textures, Shaders, complete source etc. On various sites, you can buy your own assets like 3d models, package etc. Here we are giving you same amazing websites to download Free assets, Textures, Sounds, 3Dmodels and more,   Some websites have both free and paid you just need to do advance search for free only. WOW  BEST VR ROLLER COASTER Free Unity Assets Below are 6 must have pro and free unity assets 1.UMA – Unity Multipurpose Avatar The UMA framework is the new way to do customizable characters. Regardless if you need an npc, a hero or a villain this pack is for you! With the UMA Humanoid DNA system you got 46 tweakable values to adjust anything from height to ear rotation, giving you virtually infinite amount of customization options.  download 2.Unity-chan! model ...

Unity 2d Water fluid system, How to make it?

When I was searching to make unity 2d water fluid system and unity 2d water effect I got lots of threads on forums, blogs and everywhere. I found some good techniques and plugin that I want to share today. Today I am not giving you right answer but telling some methods and plugins you can use and tutorials you can follow to get unity 2d Water fluid system in you 2d or even 3d projects. There are many other ways like Metaballs   but metaballs are for 3d one solution is also available to make it 2d ,  and a game by PixelJunk called Shooter they use some trick and also described at GDC2010 Presentation  (PDF) unity 2d water Fluvio Plugin Test First I love to show this plugin called fluvio. I get it from asset-store what fluvio said about their plugin. "Fluvio is a solution for real-time 2D/3D fluid physics. It is fully integrated with the editor and compatible with desktop, web player and mobile platforms. Fluvio can simulate both liquids and gasses...

14 Free Unity Plugins To Monetize Your Games

Unity monetization Unity is the favorite game engine nowadays dozens of mobile game developers are using it to build games for iOS, Android, Web and other platforms. When a developer made their games they also wants to monetize it to get some revenue, but they found unity with just a few options to monetize their games and they try to find plugins to monetize the games, We also have a post about  free unity assets  and you should see also For your ease, we found these great Free Unity Plugins To Monetize Your Games: AdMob AdMob is a mobile advertising company founded by Omar Hamoui . that helps app developers monetize and promote their mobile and tablet apps with ads. The name AdMob is a portmanteau for "advertising on mobile". It was incorporated in 2006 and is based in San Mateo, California. Wikipedia Tutorial Upsight Free In-App Tools Deliver unlimited, in-app messages to custom user sections - staying consumers up to date with reports, engage...