Mondiale norm over programmeertaal C++ gepubliceerd

26 januari 2021

De inter­na­ti­o­nale norm ISO/​IEC 14882 ‘Program­meer­talen — C++’ is geüpdatet en gepu­bli­ceerd. Deze norm defi­ni­eert zowel de eisen aan de taal zelf als aan de imple­men­tatie van C++. C++ is een program­meer­taal voor algemene doel­einden waarvan de ontwik­ke­ling al in de jaren 80 van de vorige eeuw is gestart.

C++ is een hogere program­meer­taal. Het voordeel van hogere program­meer­talen is dat program­meurs niet meer afhan­ke­lijk zijn van de onder­lig­gende processor. Er worden afspraken gemaakt over de manier waarop een program­meer­taal tekst opschrijft en wat dit zou betekenen. Voor C++ is dit vast­ge­legd in een ISO-norm. Ook talen als FORTRAN, COBOL en C zijn in ISO-normen gede­fi­ni­eerd. De ISO-norm voor C++ is een update van de eerdere versie met veel veranderingen.

Toevoegingen

De herzie­ning van ISO/​IEC 14882 uit 2020 voegt een aantal nieuwe moge­lijk­heden toe aan de manier waarop de taal gebruikt wordt en deze zullen sterk veran­deren en simpli­fi­ceren. Een aantal voor­beelden zijn:

  • Makke­lij­kere gene­ri­ci­teit door met behulp van ‘concepts’ vereisten te stellen aan templates.
  • Betere onder­steu­ning van modulair program­meren (waardoor programma’s een betere structuur kunnen krijgen en ook snellere compilatietijden).
  • Een nieuw keyword “<=>” maakt het mogelijk om in een keer een drie­voudig verge­lij­kings­re­sul­taat te krijgen (in plaats van a>b of a==b of a>=b, levert a<=>b een volledig uitsluitsel op over of a kleiner, gelijk of groter dan b is, in een enkele operatie).
  • Een andere belang­rijke nieuwe feature vormen ‘corou­tines’. Corou­tines zijn een veral­ge­me­ni­se­ring van func­tie­aan­roepen (stackless co-operative multitasking).

Nieuwe faciliteiten

Naast toevoe­gingen aan de taal zijn ook in de C++ standaard bibli­o­theek veel nieuwe faci­li­teiten opgenomen.Een aantal voor­beelden zijn:

  • ‘Ranges’ een veral­ge­me­ni­se­ring van een ‘sequence’ waardoor operaties op een container veel effi­ci­ënter opge­schreven en uitge­voerd kan worden.
  • Calender en tijdzone operaties en een bibli­o­theek van standaard concepts waarmee generieke functies de types waarop ze opereren kunnen specificeren.
  • Ook zijn er kleine wijzi­gingen in de bibli­o­theek die betrek­king hebben op nieuwe faci­li­teiten in de taal (zoals het toevoegen van operator “<=>” aan het stan­daard­type ‘string’.

Pin It on Pinterest

Share This