C++17
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 ofstd::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
andstd::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
- ↑ Recent milestones: C++17 nearly feature-complete, second round of TSes now under development
- ↑ "N3928: Extending static_assert, v2 (Walter E. Brown)" (PDF).
- ↑ "N3981: Removing trigraphs??! (Richard Smith)". 2014-05-06.
- ↑ 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
- ↑ "N4051: Allow typename in a template template parameter (Richard Smith)".
- ↑ "N3922: New Rules for auto deduction from braced-init-list (James Dennett)".
- 1 2 3 "Updates to my trip report".
- ↑ "N4259: Wording for std::uncaught_exceptions (Herb Sutter)" (PDF).
- 1 2 3 4 5 "New core language papers adopted for C++17".
- ↑ "N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos)".
- ↑ "N4266: Attributes for namespaces and enumerators (Richard Smith)".
- ↑ "N4267: Adding u8 character literals (Richard Smith)".
- ↑ "N4268: Allow constant evaluation for all non-type template arguments (Richard Smith)".
- ↑ "N4295: Folding expressions (Andrew Sutton, Richard Smith)".
- ↑ "N4279: Improved insertion interface for unique-key maps (Thomas Köppe)".
- 1 2 3 "New standard library papers adopted for C++17".
- ↑ "N4280: Non-member size() and more (Riccardo Marcangelo)" (PDF).
- ↑ "N4284: Contiguous Iterators (Jens Maurer)".
- ↑ "N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej)".
- ↑ "Filesystem Library Proposal (Beman Dawes)".
- ↑ "The Parallelism TS Should be Standardized".
- ↑ "Mathematical Special Functions for C++17, v5" (PDF).
- ↑ "Adopt Library Fundamentals V1 TS Components for C++17 (R1)".
|
This article is issued from Wikipedia - version of the Sunday, April 03, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.