词条 | C++17 |
释义 |
HistoryBefore the C++ Standards Committee fixed a 3-year release cycle, C++17's release date was uncertain. In that time period, the C++17 revision was also called C++1z, following C++0x or C++1x for C++11 and C++1y for C++14. The C++17 specification reached the Draft International Standard (DIS) stage in March 2017.[1][2] This DIS was unanimously approved, with only editorial comments,[3] and the final standard was published in December 2017.[4] Few changes were made to the C++ Standard Template Library, although some algorithms in the Next standard
RemovedThis revision of C++ not only added new features but also removed a few.
New featuresC++17 introduces many new features. The following lists may not be complete. Language
Library
Compiler support
See also
References1. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4661.html|title=N4661 Editors' Report -- Programming Languages -- C++|access-date=2017-03-21|date=21 March 2017}} {{C++ProLang}}2. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4660.pdf|title=ISO/IEC DIS 14882: Programming Languages — C++|deadurl=yes|archiveurl=https://web.archive.org/web/20170325025026/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4660.pdf|archivedate=2017-03-25|df=}} 3. ^{{cite web|url=https://herbsutter.com/2017/09/06/c17-is-formally-approved/|author=Herb Sutter|title=C++17 is formally approved}} 4. ^{{cite web|url=https://www.iso.org/standard/68564.html|title=ISO/IEC 14882:2017}} 5. ^https://herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/ "the next standard after C++17 will be C++20" 6. ^{{cite web|url=https://isocpp.org/std/status|title=Current Status : Standard C++|publisher=}} 7. ^{{cite web|url=https://botondballo.wordpress.com/2017/08/02/trip-report-c-standards-meeting-in-toronto-july-2017/|title=Trip Report: C++ Standards Meeting in Toronto, July 2017|date=2 August 2017|publisher=|accessdate=11 January 2018}} 8. ^{{cite web|title=N3981: Removing trigraphs??! (Richard Smith)|url=http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3981.html|date=2014-05-06}} 9. ^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 10. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm|title=N4190: Removing auto_ptr, random_shuffle(), And Old <functional> Stuff (Stephan T. Lavavej)}} 11. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3928.pdf|title=N3928: Extending static_assert, v2 (Walter E. Brown)}} 12. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4051.html|title=N4051: Allow typename in a template template parameter (Richard Smith)}} 13. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html|title=N3922: New Rules for auto deduction from braced-init-list (James Dennett)}} 14. ^1 2 {{cite web|title=Updates to my trip report|url=http://isocpp.org/blog/2014/11/updates-to-my-trip-report}} 15. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4230.html|title=N4230: Nested namespace definition (Robert Kawulak, Andrew Tomazos)}} 16. ^{{cite web|url=http://isocpp.org/files/papers/n4266.html|title=N4266: Attributes for namespaces and enumerators (Richard Smith)}} 17. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4640.pdf|title=N4640: Working Draft, Standard for Programming Language C++|pages=193–195}} 18. ^{{cite web|url=http://isocpp.org/files/papers/n4267.html|title=N4267: Adding u8 character literals (Richard Smith)}} 19. ^{{cite web|url=http://wg21.link/p0245r1|title=Hexadecimal floating literals for C++|author=Thomas Köppe}} 20. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§5.13.4}} 21. ^{{cite web|url=http://isocpp.org/files/papers/n4268.html|title=N4268: Allow constant evaluation for all non-type template arguments (Richard Smith)}} 22. ^{{cite web|url=http://isocpp.org/files/papers/n4295.html|title=N4295: Folding expressions (Andrew Sutton, Richard Smith)}} 23. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§9.4.1}} 24. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§11.5}} 25. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0305r1.html|title=Selection statements with initializer|publisher=}} 26. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0035r4.html|title=Dynamic memory allocation for over-aligned data}} 27. ^{{cite web|url=https://en.cppreference.com/w/cpp/language/class_template_argument_deduction|title=Class template argument deduction}} 28. ^{{cite web|url=https://www.youtube.com/watch?v=UDs90b0yjjQ|title=CppCon 2018: Timur Doumler “Class template argument deduction in C++17”}} 29. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4640.pdf|title=N4640: Working Draft, Standard for Programming Language C++|pages=431–433}} 30. ^{{cite web|url=https://en.cppreference.com/w/cpp/keyword/register|title=C++ Keywords: register}} 31. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§19.8}} 32. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0012r1.html|title=P0012R1: Make exception specifications be part of the type system, version 5}} 33. ^{{cite web|title=Adopt Library Fundamentals V1 TS Components for C++17 (R1)|url=https://isocpp.org/files/papers/p0220r1.html}} 34. ^{{Cite web|url=https://isocpp.org/std/status|title=Current Status|last=|first=|date=|website=|publisher=|access-date=}} 35. ^{{Cite web|url=http://en.cppreference.com/w/cpp/string/basic_string_view|title=std::basic_string_view - cppreference.com|website=en.cppreference.com|access-date=2016-06-23}} 36. ^{{cite web|url=http://isocpp.org/files/papers/n4259.pdf|title=N4259: Wording for std::uncaught_exceptions (Herb Sutter)}} 37. ^1 2 3 4 {{cite web|title=New core language papers adopted for C++17|url=https://isocpp.org/blog/2014/11/new-papers-adopted-for-cpp17}} 38. ^{{cite web|url=https://isocpp.org/files/papers/n4279.html|title=N4279: Improved insertion interface for unique-key maps (Thomas Köppe)}} 39. ^1 2 {{cite web|title=New standard library papers adopted for C++17|url=https://isocpp.org/blog/2014/11/new-standard-library-papers-adopted-for-cpp17}} 40. ^{{cite web|title=N4280: Non-member size() and more (Riccardo Marcangelo)|url=https://isocpp.org/files/papers/n4280.pdf}} 41. ^{{cite web|title=N4284: Contiguous Iterators (Jens Maurer)|url=https://isocpp.org/files/papers/n4284.html}} 42. ^{{cite web|title=Filesystem Library Proposal (Beman Dawes)|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3505.html}} 43. ^{{cite web|title=The Parallelism TS Should be Standardized|url=https://isocpp.org/files/papers/P0024R2.html}} 44. ^{{cite web|title=Mathematical Special Functions for C++17, v5|url=https://isocpp.org/files/papers/P0226R1.pdf}} 45. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§23.7}} 46. ^{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2017/p0298r3.pdf|title=A byte type definition}} 47. ^{{cite web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf|title=N4659: Working Draft, Standard for Programming Language C++|at=§23.15.8}} 48. ^{{cite web|url=https://gcc.gnu.org/projects/cxx-status.html|title=C++ Standards Support in GCC - GNU Project - Free Software Foundation (FSF)|website=gcc.gnu.org}} 49. ^{{cite web|url=https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html|title=Chapter 1. Status|website=gcc.gnu.org}} 50. ^{{cite web|url=https://clang.llvm.org/cxx_status.html|title=Clang - C++17, C++14, C++11 and C++98 Status|website=clang.llvm.org}} 51. ^{{cite web|url=https://docs.microsoft.com/en-us/cpp/visual-cpp-language-conformance|title=Visual C++ Language Conformance|first=|last=corob-msft|website=docs.microsoft.com}} 52. ^{{cite web|url=https://blogs.msdn.microsoft.com/vcblog/2018/05/07/announcing-msvc-conforms-to-the-c-standard/|title=Announcing: MSVC Conforms to the C++ Standard|publisher=}} 4 : C++|Programming languages|Programming language standards|Articles with example C++ code |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。