C++17

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

C++17 (also called C++1z) is the informal name for the future revision of the C++ ISO/IEC standard. The specification for the C++17 revision is under development and "nearly feature-complete"[1] to be finished in 2017.

Expected features

  • Addition of a default text message for static_assert[2]
  • Removal of trigraphs[3][4]
  • Allow typename in a template template parameter[5]
  • New rules for auto deduction from braced-init-list[6][7]
  • std::uncaught_exceptions, as a replacement of std::uncaught_exception[8][9]
  • Nested namespace definition[7][10]
  • Attributes for namespaces and enumerators[9][11]
  • UTF-8 character literals[9][12]
  • Constant evaluation for all non-type template arguments[9][13]
  • Folding expressions[9][14]
  • New insertion functions for std::map and std::unordered_map[15][16]
  • Uniform container access[16][17]
  • Definition of "Contiguous Iterators"[16][18]
  • Removal of some deprecated types and functions like std::auto_ptr, std::random_shuffle or old function adaptors[19][7]
  • A file system library based on boost::filesystem[20]
  • Parallel versions of STL algorithms[21]
  • Additional mathematical special functions[22]
  • Most of Library Fundamentals TS I[23]

See also

References

  1. Recent milestones: C++17 nearly feature-complete, second round of TSes now under development
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. IBM comment on preparing for a Trigraph-adverse future in C++17, IBM paper N4210, 2014-10-10. Authors: Michael Wong, Hubert Tong, Rajan Bhakta, Derek Inglis
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 7.2 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 9.2 9.3 9.4 Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 16.2 Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.


<templatestyles src="Asbox/styles.css"></templatestyles>