C++17 proposals become 'feature complete' at standards meeting

No major updates, but proposals will make language more easily readable and modifiable

The forthcoming C++17 standards have been voted through to the committee stage at a standards meeting in Oulu, Finland, over the weekend.

The standards will add new features, such as ‘if initialisers' and ‘structured bindings', to the 33-year-old general purpose programming language, and are described as "feature complete".

The most notable language features that were voted into the C++17 working draft at the meeting include:

The full details of the decisions made at the meeting over the weekend can be followed on Reddit.

Overall, the decisions made do not amount to a major update, but ought to make it an easier language to work with. They were also broadly welcomed.

"I have always been of the opinion that it's the details that make all the difference in programming language usability - things just work better when you don't have to wrestle with the grammar to get your point across (or to extract meaning from somebody else's code)," argued Reddit user ACWaters.

He continued: "We may not be getting the groundbreaking major updates everybody was hoping for with C++17, but what we are getting is a grab-bag of smaller features that are going to go a long way in making the language more easily readable and modifiable."

Originally the work of Danish computer scientist Bjarne Stroustrup, who began developing "C with Classes" in 1979, the aim of C++ was to develop a development language that combined features from Simula, but which was easier to use than BCPL. Stroustrup's intention was to enhance the C language with features drawn from Simula.

Simula had been developed in the 1960s at the Norwegian Computing Centre in Oslo and introduced objects, classes, inheritance and sub-classes, and is widely consider the first object-oriented programming language.