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]
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
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads