C++11
Tipus | edició d'estàndard ISO |
---|---|
Versió inicial | 12 agost 2011 |
Epònim | 2011 |
Més informació | |
Lloc web | iso.org… (anglès) |
Stack Exchange | Etiqueta |
| |
← C++03 C++14 → |
C++11 és una versió de l'estàndard ISO / IEC 14882 per al llenguatge de programació C++. C++11 va substituir la versió anterior de l'estàndard C++, anomenada C++03,[1] i més tard va ser substituïda per C++14. El nom segueix la tradició de nomenar les versions d'idiomes per l'any de publicació de l'especificació, tot i que abans es deia C++0x perquè s'esperava que es publiqués abans del 2010.[2]
Encara que un dels objectius del disseny era preferir els canvis a les biblioteques als canvis al llenguatge bàsic,[3] C++11 fa diverses addicions al llenguatge principal. Les àrees del llenguatge bàsic que s'han millorat significativament inclouen suport multiprocés, suport de programació genèrica, inicialització uniforme i rendiment. També es van fer canvis significatius a la biblioteca estàndard de C++, incorporant la majoria de les biblioteques de C++ Technical Report 1 (TR1), excepte la biblioteca de funcions especials matemàtiques.[4]
C++11 es va publicar com a ISO/IEC 14882:2011 [5] el setembre de 2011 i està disponible per una tarifa. L'esborrany de treball més semblant a l'estàndard C++11 publicat és N3337, del 16 de gener de 2012; [6] només té correccions editorials de l'estàndard C++11.[7]
C++11 és totalment compatible amb Clang 3.3 i posteriors.[8] C++11 és totalment compatible amb GCC 4.8.1 i posteriors.[9]
Objectius de disseny
[modifica]El comitè de disseny va intentar complir una sèrie d'objectius en el disseny de C++11:
- Mantenir l'estabilitat i la compatibilitat amb C++98 i possiblement amb C
- Preferiu introduir noves funcions a través de la biblioteca estàndard, en lloc d'ampliar el llenguatge bàsic
- Prefereix els canvis que poden evolucionar la tècnica de programació
- Milloreu C++ per facilitar el disseny de sistemes i biblioteques, en lloc d'introduir noves funcions útils només per a aplicacions específiques
- Augmentar la seguretat del tipus proporcionant alternatives més segures a les tècniques insegures anteriors
- Augmenta el rendiment i la capacitat de treballar directament amb el maquinari
- Proporcionar solucions adequades als problemes del món real
- Implementar el principi de sobrecàrrega zero (només s'ha d'utilitzar el suport addicional que necessiten algunes utilitats si s'utilitza la utilitat)
- Feu que el C++ sigui fàcil d'ensenyar i d'aprendre sense eliminar cap utilitat que necessiten els programadors experts
Es considera important l'atenció als principiants, perquè la majoria de programadors informàtics sempre ho seran, i perquè molts principiants no amplien mai els seus coneixements, limitant-se a treballar en aspectes de la llengua en què s'especialitzen.
Extensions al llenguatge bàsic C++
[modifica]Una de les funcions del comitè C++ és el desenvolupament del nucli del llenguatge. Les àrees del llenguatge bàsic que s'han millorat significativament inclouen suport multiprocés, suport de programació genèrica, inicialització uniforme i rendiment.
Referències
[modifica]- ↑ «We have an international standard: C++0x is unanimously approved» (en anglès), 12-08-2011. Arxivat de l'original el 11 desembre 2018. [Consulta: 12 agost 2011].
- ↑ Stroustrup, Bjarne. «C++11 FAQ» (en anglès). stroustrup.com. Arxivat de l'original el 2018-10-06. [Consulta: 15 octubre 2014].
- ↑ «C++11 Overview: What specific design goals guided the committee?» (en anglès). Standard C++. Arxivat de l'original el 2019-01-31. [Consulta: 4 setembre 2015].
- ↑ «Bjarne Stroustrup: A C++0x overview» (en anglès). Arxivat de l'original el 17 juny 2016. [Consulta: 30 juny 2011].
- ↑ «ISO/IEC 14882:2011» (en anglès). ISO, 02-09-2011. Arxivat de l'original el 29 gener 2013. [Consulta: 3 setembre 2011].
- ↑ «Working Draft, Standard for Programming Language C++» (en anglès). Arxivat de l'original el 2019-01-21. [Consulta: 26 abril 2012].
- ↑ «The Standard» (en anglès). Arxivat de l'original el 2019-05-13. [Consulta: 2 novembre 2012].
- ↑ «Clang - C++ Programming Language Status» (en anglès). web.archive.org, 29-11-2023. Arxivat de l'original el 2023-11-29. [Consulta: 1r desembre 2023].
- ↑ «GCC 4.8.1 released, C++11 feature complete : Standard C++» (en anglès). isocpp.org. [Consulta: 1r desembre 2023].