Jump to content

C++17

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 12.165.27.130 (talk) at 15:14, 31 December 2014 (Expected features). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 speculated to be finished in 2017.

×==Expected features== As the specification for C++17 is just beginning, the following list is just a start. Many features will certainly be added in the next years.[1]

  • Addition of a default text message for static_assert
  • Removal of trigraphs[2]
  • Allow typename in a template template parameter
  • New rules for auto deduction from braced-init-list[3][4]
  • std::uncaught_exceptions, as a replacement of std::uncaught_exception[5][6]
  • Nested namespace definition[7][4]
  • Attributes for namespaces and enumerators[8][6]
  • UTF-8 character literals[9][6]
  • Constant evaluation for all non-type template arguments[10][6]
  • Folding expressions[11][6]
  • New insertion functions for std::map and std::unordered_map[12][13]
  • Uniform container access [14][13]
  • Definition of "Contiguous Iterators" [15][13]
  • Removal of some deprecated types and functions like std::auto_ptr, std::random_shuffle or old function adaptors[16]<ref name="isocpp-update"

Fuucckk you all

See also

Shiz dip[crad

References

  1. ^ "Clang C++1z implementation status". http://clang.llvm.org/cxx_status.html#cxx17. {{cite web}}: External link in |website= (help); Missing or empty |url= (help)
  2. ^ 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
  3. ^ "N3922: New Rules for auto deduction from braced-init-list (James Dennett)".
  4. ^ a b "Updates to my trip report".
  5. ^ "N4259: Wording for std::uncaught_exceptions (Herb Sutter)" (PDF).
  6. ^ a b c d e "New core language papers adopted for C++17".
  7. ^ "N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos)".
  8. ^ "N4266: Attributes for namespaces and enumerators (Richard Smith)".
  9. ^ "N4267: Adding u8 character literals (Richard Smith)".
  10. ^ "N4268: Allow constant evaluation for all non-type template arguments (Richard Smith)".
  11. ^ "N4295: Folding expressions (Andrew Sutton, Richard Smith)".
  12. ^ "N4279: Improved insertion interface for unique-key maps (Thomas Köppe)".
  13. ^ a b c "New standard library papers adopted for C++17".
  14. ^ "N4280: Non-member size() and more (Riccardo Marcangelo)" (PDF).
  15. ^ "N4284: Contiguous Iterators (Jens Maurer)".
  16. ^ "N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej)".