Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
C++
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
C++
(section)
Add topic