C++17: Difference between revisions
Appearance
Content deleted Content added
Tag: possible vandalism |
|||
Line 21: | Line 21: | ||
* [[C++]] |
* [[C++]] |
||
* [[C++14]] |
* [[C++14]] |
||
Shiz dip[crad |
|||
==References== |
==References== |
Revision as of 15:13, 31 December 2014
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 ofstd::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
andstd::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]Cite error: The<ref>
tag has too many names (see the help page).
See also
Shiz dip[crad
References
- ^ "Clang C++1z implementation status". http://clang.llvm.org/cxx_status.html#cxx17.
{{cite web}}
: External link in
(help); Missing or empty|website=
|url=
(help) - ^ 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
- ^ "N3922: New Rules for auto deduction from braced-init-list (James Dennett)".
- ^ a b "Updates to my trip report".
- ^ "N4259: Wording for std::uncaught_exceptions (Herb Sutter)" (PDF).
- ^ a b c d e "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)".
- ^ a b c "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)".