Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C++
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Standardization=== {{main|C++03|C++11|C++14|C++17|C++20|C++23|C++26}} {| class="wikitable floatright" style="margin-left: 1.5em;" |+C++ standards |- !scope="col"| Year !scope="col"| ISO/IEC Standard !scope="col"| Informal name |- !scope="row"| 1998 | | 14882:1998<ref name="isocpp1998">{{cite web|title=ISO/IEC 14882:1998|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=25845|access-date=23 November 2018|archive-date=15 January 2017|archive-url=https://web.archive.org/web/20170115080045/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=25845|url-status=live}}</ref> || C++98 |- !scope="row"| 2003 | | 14882:2003<ref name="isocpp2003">{{cite web|title=ISO/IEC 14882:2003|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=38110|access-date=23 November 2018|archive-date=13 August 2021|archive-url=https://web.archive.org/web/20210813193332/https://www.iso.org/standard/38110.html|url-status=live}}</ref> || [[C++03]] |- !scope="row"| 2011 | | 14882:2011<ref name="isocpp2011">{{cite web|title=ISO/IEC 14882:2011|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=50372|access-date=23 November 2018|archive-date=27 May 2016|archive-url=https://web.archive.org/web/20160527084921/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=50372|url-status=live}}</ref> || [[C++11]], C++0x |- !scope="row"| 2014 | | 14882:2014<ref name="isocpp2014">{{cite web|title=ISO/IEC 14882:2014|publisher=International Organization for Standardization|url=https://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64029&ICS1=35&ICS2=60|access-date=23 November 2018|archive-date=29 April 2016|archive-url=https://web.archive.org/web/20160429201210/http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64029&ICS1=35&ICS2=60|url-status=live}}</ref> || [[C++14]], C++1y |- !scope="row"| 2017 | | 14882:2017<ref name="isocpp2017">{{cite web|title=ISO/IEC 14882:2017|publisher=International Organization for Standardization|url=https://www.iso.org/standard/68564.html|access-date=2 December 2017|archive-date=29 January 2013|archive-url=https://web.archive.org/web/20130129110331/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372|url-status=live}}</ref> || [[C++17]], C++1z |- !scope="row"| 2020 | | 14882:2020<ref name="isocpp2020">{{cite web|title=ISO/IEC 14882:2020|publisher=International Organization for Standardization|url=https://www.iso.org/standard/79358.html|access-date=16 December 2020|archive-date=16 December 2020|archive-url=https://web.archive.org/web/20201216154357/https://www.iso.org/standard/79358.html|url-status=live}}</ref> || [[C++20]], C++2a |- !scope="row"| 2024 | | 14882:2024<ref name="isocpp2024">{{cite web|title=ISO/IEC 14882:2024|publisher=International Organization for Standardization|url=https://www.iso.org/standard/83626.html|access-date=21 October 2020}}</ref> || [[C++23]], C++2b |- !scope="row" {{TBA}} | | || [[C++26]], C++2c |} C++ is standardized by an [[International Organization for Standardization|ISO]] working group known as [[ISO/IEC JTC 1/SC 22|JTC1/SC22/WG21]]. So far, it has published seven revisions of the C++ standard and is currently working on the next revision, [[C++26]]. [[File:C++ Standards Committee meeting - July 1996 Stockholm - Wednesday general session.jpg|thumb|right|Scene during the C++ standards committee meeting in Stockholm in 1996]] In 1998, the ISO working group standardized C++ for the first time as ''ISO/IEC 14882:1998'', which is informally known as ''C++98''. In 2003, it published a new version of the C++ standard called ''ISO/IEC 14882:2003'', which fixed problems identified in C++98. The next major revision of the standard was informally referred to as "C++0x", but it was not released until 2011.<ref name="0xapprove">{{cite web|url=https://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/|title=We have an international standard: C++0x is unanimously approved|website=Sutter's Mill|date=12 August 2011|access-date=23 November 2018|archive-date=28 June 2018|archive-url=https://web.archive.org/web/20180628182816/https://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/|url-status=live}}</ref> [[C++11]] (14882:2011) included many additions to both the core language and the standard library.<ref name="isocpp2011"/> In 2014, [[C++14]] (also known as C++1y) was released as a small extension to C++11, featuring mainly bug fixes and small improvements.<ref name="The Future of C">{{Cite web|url=https://channel9.msdn.com/Events/Build/2012/2-005|title=The Future of C++|via=channel9.msdn.com|access-date=23 November 2018|archive-date=23 October 2018|archive-url=https://web.archive.org/web/20181023213741/https://channel9.msdn.com/Events/Build/2012/2-005|url-status=live}}</ref> The Draft International Standard ballot procedures completed in mid-August 2014.<ref>{{Cite web|url=https://isocpp.org/blog/2014/08/we-have-cpp14|title=We have C++14! : Standard C++|website=isocpp.org|access-date=19 August 2014|archive-date=19 August 2014|archive-url=https://web.archive.org/web/20140819083101/https://isocpp.org/blog/2014/08/we-have-cpp14|url-status=live}}</ref> After C++14, a major revision [[C++17]], informally known as C++1z, was completed by the ISO C++ committee in mid July 2017 and was approved and published in December 2017.<ref name="Toronto meeting report">{{Cite web|url=https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|title=Trip report: Summer ISO C++ standards meeting (Toronto)|first=Herb|last=Sutter|date=15 July 2017|access-date=4 August 2017|archive-date=6 August 2017|archive-url=https://web.archive.org/web/20170806182136/https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|url-status=live}}</ref> As part of the standardization process, ISO also publishes [[International Organization for Standardization#International standards and other publications|technical reports and specifications]]: * ISO/IEC TR 18015:2006<ref>{{cite web|publisher=International Organization for Standardization|title=ISO/IEC TR 18015:2006|url=https://www.iso.org/standard/43351.html|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115203236/https://www.iso.org/standard/43351.html|url-status=live}}</ref> on the use of C++ in embedded systems and on performance implications of C++ language and library features, * ISO/IEC TR 19768:2007<ref>{{cite web|url=https://www.iso.org/standard/43289.html|title=ISO/IEC TR 19768:2007|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=4 March 2016|archive-url=https://web.archive.org/web/20160304045148/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=43289|url-status=live}}</ref> (also known as the [[C++ Technical Report 1]]) on library extensions mostly integrated into [[C++11]], * ISO/IEC TR 29124:2010<ref>{{cite web|url=https://www.iso.org/standard/50511.html|title=ISO/IEC TR 29124:2010|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=12 January 2019|archive-url=https://web.archive.org/web/20190112054620/https://www.iso.org/standard/50511.html|url-status=live}}</ref> on special mathematical functions, integrated into {{nowrap|[[C++17]]}}, * ISO/IEC TR 24733:2011<ref>{{cite web|url=https://www.iso.org/standard/38843.html|title=ISO/IEC TR 24733:2011|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115203556/https://www.iso.org/standard/38843.html|url-status=live}}</ref> on [[decimal floating point|decimal floating-point]] arithmetic, * ISO/IEC TS 18822:2015<ref>{{cite web|url=https://www.iso.org/standard/63483.html|title=ISO/IEC TS 18822:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201441/https://www.iso.org/standard/63483.html|url-status=live}}</ref> on the standard filesystem library, integrated into [[C++17]], * ISO/IEC TS 19570:2015<ref>{{cite web|url=https://www.iso.org/standard/65241.html|title=ISO/IEC TS 19570:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201509/https://www.iso.org/standard/65241.html|url-status=live}}</ref> on [[parallel computing|parallel]] versions of the standard library algorithms, integrated into [[C++17]], * ISO/IEC TS 19841:2015<ref>{{cite web|url=https://www.iso.org/standard/66343.html|title=ISO/IEC TS 19841:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201300/https://www.iso.org/standard/66343.html|url-status=live}}</ref> on software [[transactional memory]], * ISO/IEC TS 19568:2015<ref>{{cite web|url=https://www.iso.org/standard/65238.html|title=ISO/IEC TS 19568:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202436/https://www.iso.org/standard/65238.html|url-status=live}}</ref> on a new set of library extensions, some of which are already integrated into [[C++17]], * ISO/IEC TS 19217:2015<ref>{{cite web|url=https://www.iso.org/standard/64031.html|title=ISO/IEC TS 19217:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201732/https://www.iso.org/standard/64031.html|url-status=live}}</ref> on the C++ [[concepts (C++)|concepts]], integrated into [[C++20]], * ISO/IEC TS 19571:2016<ref>{{cite web|url=https://www.iso.org/standard/65242.html|title=ISO/IEC TS 19571:2016|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201226/https://www.iso.org/standard/65242.html|url-status=live}}</ref> on the library extensions for concurrency, some of which are already integrated into [[C++20]], * ISO/IEC TS 19568:2017<ref>{{cite web|url=https://www.iso.org/standard/70587.html|title=ISO/IEC TS 19568:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202428/https://www.iso.org/standard/70587.html|url-status=live}}</ref> on a new set of general-purpose library extensions, * ISO/IEC TS 21425:2017<ref>{{cite web|url=https://www.iso.org/standard/70910.html|title=ISO/IEC TS 21425:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201957/https://www.iso.org/standard/70910.html|url-status=live}}</ref> on the library extensions for ranges, integrated into [[C++20]], * ISO/IEC TS 22277:2017<ref>{{cite web|url=https://www.iso.org/standard/73008.html|title=ISO/IEC TS 22277:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202004/https://www.iso.org/standard/73008.html|url-status=live}}</ref> on coroutines, integrated into [[C++20]], * ISO/IEC TS 19216:2018<ref>{{cite web|url=https://www.iso.org/standard/64030.html|title=ISO/IEC TS 19216:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201923/https://www.iso.org/standard/64030.html|url-status=live}}</ref> on the networking library, * ISO/IEC TS 21544:2018<ref>{{cite web|url=https://www.iso.org/standard/71051.html|title=ISO/IEC TS 21544:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201858/https://www.iso.org/standard/71051.html|url-status=live}}</ref> on modules, integrated into [[C++20]], * ISO/IEC TS 19570:2018<ref>{{cite web|url=https://www.iso.org/standard/70588.html|title=ISO/IEC TS 19570:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201519/https://www.iso.org/standard/70588.html|url-status=live}}</ref> on a new set of library extensions for parallelism * ISO/IEC TS 23619:2021<ref>{{cite web|url=https://www.iso.org/standard/76425.html|title=ISO/IEC TS 23619:2021|publisher=International Organization for Standardization|access-date=11 October 2021|url-status=live|archive-url=https://web.archive.org/web/20181215153205/https://www.iso.org/standard/76425.html |archive-date=15 December 2018}}</ref> on new extensions for [[reflective programming]] (reflection), * ISO/IEC TS 9922:2024<ref>{{cite web |title=ISO/IEC TS 9922:2024 |url=https://www.iso.org/standard/83630.html |publisher=International Organization for Standardization |access-date=1 April 2025 |archive-url=https://web.archive.org/web/20250401173108/https://www.iso.org/standard/83630.html |archive-date=1 April 2025 |url-status=live}}</ref> on new set of concurrency extensions, and * ISO/IEC TS 19568:2024<ref>{{cite web |title=ISO/IEC TS 19568:2024 |url=https://www.iso.org/standard/86293.html |publisher=International Organization for Standardization |access-date=1 April 2025 |archive-url=https://web.archive.org/web/20250225094830/https://www.iso.org/standard/86293.html |archive-date=25 February 2025 |url-status=live}}</ref> on another new set of library extensions. More technical specifications are in development and pending approval.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)