Programmering

C ++ 20 modtager endelig teknisk godkendelse

Efter at have opnået den endelige tekniske godkendelse fra ISO 4. september forventes C ++ 20 at blive formelt offentliggjort mod slutningen af ​​dette år med nye funktioner som moduler og coroutines.

C ++ blev designet i 1979 til systemprogrammering og er stadig et vigtigt sprog. C ++ blev endda fundet for at være det hurtigst voksende sprog i Tiobe-indekset fra september 2020, hvor det ligger på fjerdepladsen bag C, Java og Python. Tiobe nævner C ++ 20-specifikationen som en af ​​de faktorer, der giver sproget et boost.

Nye funktioner i C ++ 20 inkluderer:

  • Moduler, der gør det muligt for programmører at bruge modulære komponenter.
  • Koncept, der bruges til at specificere skabelonkrav og understøtte generisk programmering. Koncept lover at forbedre kodekvaliteten.
  • Et synkroniseringsbibliotek til bedre understøttelse af finkornet hardwarekontrol.
  • Kompileringstid beregningsforbedringer.
  • Coroutines, der generaliserer subrutiner til brug i ikke-forebyggende multitasking. Standardiseret support til coroutines i standardbiblioteket mangler dog stadig. Denne støtte er rettet mod C ++ 23.
  • Områder, der leverer komponenter til at håndtere elementområder.
  • Funktionstestmakroer, et sæt makroer, der svarer til sprog- og biblioteksfunktioner fra C ++ 11 eller nyere.
  • Forudberegnede hashværdier i opslag.
  • Udvidelseserklæringer for at muliggøre gentagelse af kompileringstid for en sætning for hvert element i en tuple, matrix, klasse, parameterpakke eller rækkevidde.
  • Monadiske operationer til std :: valgfri kode.
  • Implicit oprettelse af objekter til manipulation på lavt niveau.
  • Forbedret kontekstafhængig anerkendelse af importere og modul for at hjælpe værktøjer, der ikke er kompilatorer, til at bestemme bygningsafhængigheder.
  • Nye varierede algoritmer.

En kontraktfunktion, der var forventet i C ++ 20, til at specificere præ-betingelser, post-conditions og påstande, er blevet fjernet. Kontrakter er nu markeret som et C ++ 23-element, selvom det muligvis ikke gør det til den udgivelse.

$config[zx-auto] not found$config[zx-overlay] not found