C++11

De la Viquipèdia, l'enciclopèdia lliure
C++11

Tipusedició d'estàndard ISO Modifica el valor a Wikidata
Versió inicial12 agost 2011 Modifica el valor a Wikidata
Epònim2011 Modifica el valor a Wikidata
Més informació
Lloc webiso.org… (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata


C++03 Modifica el valor a Wikidata
C++14 Modifica el valor a Wikidata

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]

  1. «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].
  2. Stroustrup, Bjarne. «C++11 FAQ» (en anglès). stroustrup.com. Arxivat de l'original el 2018-10-06. [Consulta: 15 octubre 2014].
  3. «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].
  4. «Bjarne Stroustrup: A C++0x overview» (en anglès). Arxivat de l'original el 17 juny 2016. [Consulta: 30 juny 2011].
  5. «ISO/IEC 14882:2011» (en anglès). ISO, 02-09-2011. Arxivat de l'original el 29 gener 2013. [Consulta: 3 setembre 2011].
  6. «Working Draft, Standard for Programming Language C++» (en anglès). Arxivat de l'original el 2019-01-21. [Consulta: 26 abril 2012].
  7. «The Standard» (en anglès). Arxivat de l'original el 2019-05-13. [Consulta: 2 novembre 2012].
  8. «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].
  9. «GCC 4.8.1 released, C++11 feature complete : Standard C++» (en anglès). isocpp.org. [Consulta: 1r desembre 2023].