C++23

Edició 2023 de l'estàndard del llenguatge de programació C++ From Wikipedia, the free encyclopedia

Remove ads

C++23 és el nom informal de la propera versió de l'estàndard ISO / IEC 14882 per al llenguatge de programació C++ que seguirà C++20. L'esborrany final d'aquesta versió és N4950.[1][2]

Dades ràpides Tipus, Epònim ...

El febrer de 2020, a la reunió final de C++20 a Praga, es va adoptar un pla general per a C++23: [3][4] les característiques previstes per a C++23 són suport de biblioteques per a coroutines, una biblioteca estàndard modular, executors i treball en xarxa.

La primera reunió del WG21 centrada en C++23 estava pensada per tenir lloc a Varna a principis de juny de 2020, però es va cancel·lar a causa de la pandèmia de COVID-19,[5][6] igual que la reunió de novembre de 2020 a Nova York [7][6] i la reunió de febrer de 2021 a Kona, Hawaii.[7] Totes les reunions fins al novembre de 2022 van ser virtuals, mentre que la reunió de novembre de 2022 va ser híbrida.[7]

Remove ads

Noves característiques

En absència de reunions presencials del WG21 durant la pandèmia de COVID, es van afegir poques funcions noves a l'esborrany de C++23 a les primeres reunions d'estàndards. Els següents es van afegir després de la reunió virtual del GT21 del 9 de novembre de 2020, on van ser aprovats per enquestes de palla: [8]

  • Sufixos literals per std:: size_t i el tipus signat corresponent
  • Una funció membre containsper std :: basic_stringi std :: basic_string_view, per comprovar si la cadena conté o no una subcadena o caràcter determinats
  • Una biblioteca de stacktrace (< stacktrace >), basat en Boost. Stacktrace
  • Un tret de tipus std :: is_scoped_enum
  • La capçalera < stdatomic. h >, per a la interoperabilitat amb C atòmics

Després de la reunió virtual del GT21 del 22 de febrer de 2021, s'afegeixen les funcions següents on van ser aprovades per enquestes de palla: [9]

  • Eliminació de la llista de paràmetres buida innecessària ()a partir d'expressions lambda.[10]
  • S'estan reparant els adaptadors d'interval d'entrada i counted_iterator.[11]
  • Relaxeu els requisits de time_point :: clock.[12]
  • std :: visit per a les classes que es deriven de std :: variant.[13]
  • Panys amb pany.[14]
  • Intervals prestats condicionalment.[15]
  • std :: to_underlying.[16]

Després de la reunió virtual plenaria dels estàndards ISO C++ de l'estiu de 2021 del juny de 2021, les enquestes de palla van aprovar noves característiques i informes de defectes: [17]

  • Consteval si (if consteval).
  • Reducció de conversions contextuals a bool.
  • Permet atributs duplicats.
  • std :: span -based string-stream (< spanstream >).
  • std :: out_ptr () i std :: inout_ptr ().
  • constexpr per std :: optional, std :: variant, i std :: type_info :: operator ==.
  • Els iteradors parelles constructors per a std :: stack(pila) i std :: queue(cua).
  • Pocs canvis a la biblioteca d'intervals:
    • Generalitzat starts_withi ends_withper a intervals arbitraris.
    • S'ha canviat el nom split_viewa lazy_split_viewi nou split_view.
    • Relaxant la restricció a join_view.
    • S'està eliminant default_initializablerestricció des de view del concepte.
    • Constructor d'interval per std :: basic_string_view.
  • Prohibició de std :: basic_stringi std :: basic_string_viewconstrucció de nullptr.
  • std :: invoke_r.
  • Millores al std :: format.
  • Afegint arguments per defecte per a std :: pairel constructor de reenviament.
Remove ads

Referències

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads