Chapter 6. The Future of C​+​+

We don’t claim any particular gifts at seeing the future, but we can peak at where the standard is going, and then we’ll point out some of the trends that we see today that we think will continue to be important, perhaps even more important in the future.

Setting the Standard

What will be in C​+​+17? Of course we won’t have a complete answer until it is finished, but we can get a hint about where the language is going by looking at what the committee is working on now. One clue is to look at the working groups that were formed after the 2011 release and what they are working on.

The new groups include:

Concurrency

Multithreading libraries have always been a part of C​+​+, but only with the 2011 release has concurrency been part of the standard. But concurrency is a huge topic, and only basic building blocks were provided in C​+​+11/14. There is room for standard thread pool and other concurrency tools. This is also the group that looks at vectorization and how to exploit GPUs, a much needed enhancement to C​+​+.

Modules

The header-based include model needs to be replaced by a system that explicitly defines what a module wants to make public. This can support dramatically faster builds and better encapsulation of libraries.

File System

It currently isn’t possible to read the contents of a directory in a standard portable way. This group is looking at the Boost FileSystem library.

Networking (Inactive1)

Currently all networking done in C​+​+ ...

Get C++ Today now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.