C++20

From Wikipedia, the free encyclopedia
Jump to: navigation, search

C++20 is the informal name for the revision of the ISO/IEC standard for the C++ programming language expected to follow C++17. [1] The C++ Standards Committee began planning C++20 in July of 2017. [2]

Below is a partial list of changes that have been proposed or discussed for inclusion into C++20. [3]

Possible new language features[edit]

The following were voted into the C++20 draft in July 2017:[4]

  • Concepts[5]
  • Designated initializers[6] (based on the C99 feature)
  • [=, this] as a lambda capture[7]
  • Template parameter lists on lambdas[8]

Other possible new language features:

Possible library changes[edit]

  • Atomic smart pointers[14] (std::atomic_shared_ptr and std::atomic_weak_ptr)
  • Extended futures[15]
  • Latches and barriers[16]
  • Networking extensions[17], including async, basic IO services, timers, buffers and buffer-oriented streams, sockets, and internet protocols.
  • Ranges[18]
  • Task blocks[19]
  • Metaclasses[20]

See also[edit]

References[edit]

External links[edit]

  • JTC1/SC22/WG21 – the ISO/IEC C++ Standard Working Group (a.k.a. the C++ Standards Committee)
  • Ranges (range-v3) github repository, by Eric Niebler